등록 페이지와 로그인 페이지가 있으므로 등록 페이지가 완벽하게 작동하지만 로그인 페이지가 제대로 작동하지 않는 것 같아서 알아낼 수 있습니다.
가 내가 로그인의 페이지에 해시 된 암호를 반향 수 있어요으로 내 데이터베이스가 작동하는 것 같군, 그것은 password_verify()
등록 페이지와 함께 할 수있는 뭔가가 보인다 (작업)
(작동하지 않음)<?php
include("assets/includes/conn.php");
$user = $_POST['username'];
$pass = $_POST['pass'];
$cPass = $_POST['c-pass'];
$email = $_POST['email'];
$options = [
'cost' => 11
];
if($pass == $cPass){
$stmt = $conn->prepare("INSERT INTO users (username, pass, email) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $user, $h_p, $email);
$user = $_POST['username'];
$h_p = password_hash($pass, PASSWORD_DEFAULT, $options)."\n";
$email = $_POST['email'];
$stmt->execute();
echo "Created";
echo $h_p;
$stmt->close();
$conn->close();
}
로그인 페이지 여기
<?php
include("assets/includes/conn.php");
$username = $_POST['username'];
$password = $_POST['pass'];
$sql = "SELECT * FROM users WHERE username = '$username'";
$result = $conn->query($sql);
if ($result->num_rows == 1){
$row = $result->fetch_assoc();
$hash = $row['pass'];
if(password_verify($password, $hash)){
echo "Yes";
} else {
echo "No<br/>";
echo "" . $hash . "<br/>";
echo $password;
}
}
왜 실패했는지에 대한 몇 가지 생각이 있지만 아래 답변을 볼 수 있습니다. –
변수가 제대로 전송되지 않는 문제가있는 경우 [오류 표시] (http://stackoverflow.com/questions/1053424/how-do-i-ko-php-errors-to-display)를 확인하십시오. 스크립트 등등. – Mike
@Mike 문제는 내가 오류라고 생각하지 않는다. 암호가 해쉬 된 것과 관련이있을 수도 있지만 암호가 정확하지 않다는 것을 알려주는 것이다. –