날 로그 아웃되지로 세션()는 다음 다시 나를 아직도</p> <p>logout.php에 로그인 한 것이다 로그인을하지 않고 보호되는 페이지로 이동
<?php
session_start();
session_unset();
session_destroy();
header("Location: ../index.php");
exit();
?>
login.php
$userlogin = user_login($email, $password.$salt);
if ($userlogin==false){
$errors[]='Wrong email/password combination.';
} else {
//set the user session
$_SESSION['UserId']=$userlogin;
$_SESSION['LoginIP']=$_SERVER['REMOTE_ADDR'];
$db->query("UPDATE users SET ipadd='".$_SERVER['REMOTE_ADDR']."' WHERE user_id=".$_SESSION['UserId']."");
echo '<meta http-equiv="refresh" content="0; URL=index.php">';
점검 코드에서 로그인
/* Check if user is logged in or not */
function loggedin(){
return (isset($_SESSION['UserId'])) ? true : false;
}
if (loggedin()==true){
$session_user_id = $_SESSION['UserId'];
$user_data = user_data($session_user_id,'full_name','username');
$rezult =$db->query("SELECT ipadd FROM users WHERE user_id=".$_SESSION['UserId']."");
while($rez = $rezult->fetch_assoc()){
if ($rez['ipadd']==$_SERVER['REMOTE_ADDR']) {
} else {
echo '<meta http-equiv="refresh" content="0; URL=logout2.php">';
}
}
}
동일한 질문을 가진 게시물을 살펴 보았지만 동일한 문제가 계속 발생하려고 시도했습니다. 모든 조언은 극도로 감사하게 될 것입니다!
if(!isset($_SESSION["session_name"])){
header("Location: somewhere_mainpage.php");
}
모든 페이지가이 라인을 가지고 있는지 확인하는 것이 좋습니다 :
동의합니다. 'session_start();'는 모든 페이지에 있어야합니다. 나는'login.php'가 부분 코드처럼 보이기 때문에 OP가 있다고 가정 할 수 있습니다. – Bradmage