2016-06-07 2 views
2
if ($count == 1){ //if username + pass is correct 
    $cookie_value = $user; 
    setcookie($cookie_name, $cookie_value, time() + (180), "/"); 
    header("Location: personal.php"); 
}else{ //wrong info 
    echo "Gebruikersnaam of passwoord is niet juist!"; 
} 
}else if (isset($_POST['register'])){ 
    $user = $_POST['username']; 
    $pass = $_POST['password']; 
    $phash = sha1(sha1($pass."salt")."salt"); 
    $sql = "INSERT INTO 'users' (username, password) VALUES ($user', '$phash')'; "; 
    $result = myqli_query($conn, $sql); 
} 
?> 

좋아요. 그래서 내가 누를려고 할 때, 그것을 personal.php로 가져 오지는 않지만, 똑같은 것을 다시로드합니다. (logreg.php,이 코드 파일)헤더 (위치)와 관련된 문제

헤더가 작동하지 않는 이유를 알면 누구에게 알려주세요!

EDIT : 문제는 이제 Isset을 지나칠 수 없다는 것입니다. 지금은 아무 것도 안납니다. 코드 :

if (isset($_POST['login'])) 
{ 
    $user = $_POST['username']; 
    $pass = $_POST['password']; 

    $phash = sha1(sha1($pass."salt")."salt"); //password: not visible 

    $sql = "SELECT 'username' FROM 'users' WHERE username ='$user' AND password='$phash'; "; //fetching database 

    $result = myqli_query($conn, $sql); //check if login is right 
    $count = mysqli_num_rows($result); 

    if ($count == 1) //if username + pass is ok 
    { 
     $cookie_value = $user; 
      setcookie($cookie_name, $cookie_value, time() + (180), "/"); 
     echo '<a href="personal.php">Continue</a>'; 
    } 
    else 
    { 
     echo "username or password is incorrect"; 
    } 
} 
else if (isset($_POST['register'])) 
{ 
    $user = $_POST['username']; 
    $pass = $_POST['password']; 

    $phash = sha1(sha1($pass."salt")."salt"); 

    $sql = "INSERT INTO 'users' (username, password) VALUES ($user', '$phash')'; "; 

    $result = myqli_query($conn, $sql); 

} 
?> 
+3

아무것도'header'를 호출하기 전에 echo'd 중입니다 작동합니까? 이미 페이지가 클라이언트로 전송 된 경우 헤더 리디렉션을 수행 할 수 없습니다. – Carcigenicate

+0

레지스터가 설정되어있을 때 주어진 헤더 리디렉션을하지 못합니다 – jophab

+0

else if가 있지만 if not가 표시됩니다. 코드 일부를 놓치셨습니까? 당신은 다른 것을 가지고 있다는 것을 알아 차 렸습니까? –

답변

1

exit(); 

header("Location: personal.php"); 

를 추가하고

관련 문제