로그인 및 리디렉션에 작은 문제가 있습니다. 나는 로그인 한 후 user.php라는 파일로 사용자를 보내는 소셜 네트워크를 구축 중입니다.MySQLi 리디렉션 문제
user.php에서 사용자가 존재하지 않거나 활성화되지 않았다는 메시지가 나타나지 않습니다. 여기 내 login.php
if(isset($_POST["e"])){
// GATHER THE POSTED DATA INTO LOCAL VARIABLES AND SANITIZE
$e = mysqli_real_escape_string($db_conx, $_POST['e']);
$p = $_POST['p'];
// Form data error handling
if ($e == "" && $p == ""){
echo "Login Failed";
exit();
} else {
$sql = "SELECT id, username, password FROM users WHERE email='$e' AND activated='1' LIMIT 1";
$query = mysqli_query($db_conx, $sql);
$row = mysqli_fetch_array($query, MYSQLI_ASSOC);
$db_id = $row["id"];
$db_username = $row["username"];
$db_pass_str = $row["password"];
if (password_verify('$p', $db_pass_str)){
그때 가서 해당 사용자의 $ _SESSION과 쿠키를 설정에서 코드 예제이다. 그 밖의 경우 로그인 실패를 표시하고 스크립트를 종료합니다.
로그인 후 user.php로 리디렉션해야하지만 해당 파일에서이 파일을 실행합니다.
$sql = "SELECT * FROM users WHERE username='$u' AND activated='1' LIMIT 1";
$user_query = mysqli_query($db_conx, $sql);
// Now make sure that user exists in the table
$numrows = mysqli_num_rows($user_query);
if($numrows < 1){
echo "That user does not exist or is not yet activated, press back";
exit();
}
두 파일 모두에 error_reporting이 설정되었지만 문제가 발생하지 않았습니다! 멋진 아이디어가 있다면! 많은 감사합니다! - 필립
당신의mysqli_query
추가 오류 잡기에
if (password_verify ('$ p', $ db_pass_str)) {'이 함수가'$ p'를 문자열로 원하고 있는지 의심 스럽습니다. 아마도 따옴표를 제거하고 싶습니까? –
'$ u' 변수는'user.php'에 초기화되어 있습니다 – Steve
@ royal-bg 그게 고맙습니다! 모두 지금 정렬! –