내가 파일 logout.php을 만드는 작업을하고로그 아웃 스크립트는
<a href='logout.php'>log out</a>
하여 호출하지만 세션은 32 파괴 또는 해제되지 않습니다 없습니다. 나에게 도움이되는 logout.php 파일 나는 그들이
$_SESSION['user_id'])
$_SESSION['mem_id'])
$_SESSION['fname'])
날 당신이하지 않는 변수이 세션
내가 파일 logout.php을 만드는 작업을하고로그 아웃 스크립트는
<a href='logout.php'>log out</a>
하여 호출하지만 세션은 32 파괴 또는 해제되지 않습니다 없습니다. 나에게 도움이되는 logout.php 파일 나는 그들이
$_SESSION['user_id'])
$_SESSION['mem_id'])
$_SESSION['fname'])
날 당신이하지 않는 변수이 세션
을 파괴하는 데 도움이 세 가지 세션 변수를 genrate 내 로그인 파일에서
<?php session_start();
if(isset($_SESSION['user_id']) | isset($_SESSION['mem_id'])|
isset($_SESSION['fname']) | isset($_SESSION['lname'])) {
$_SESSION=array();
unset($_SESSION['user_id']);
unset($_SESSION['mem_id']);
unset($_SESSION['fname']);
if(isset($_COOKIE[session_name()])) {
setcookie(session_name(), '' , time()-3600);
}
session_destroy();
}
header("location:index.php");
?>
아래에 주어진다 $_SESSION=array();
변수가 이미 존재하고 배열 인 경우 다시 선언하지 마십시오.
OR에 대해서도 ||
을 사용해야합니다. 단일 파이프 |
은 비트 연산자이며 사용자가 원하는 것은 아닙니다. 당신이 디버깅 할 수
... isset($_SESSION['user_id']) || isset($_SESSION['mem_id']) ...
것은 그것에게 if
문 내부 echo
무언가가있다. 화면에 에코를 표시하면 if 문으로 넘어갑니다. 그렇지 않은 경우, 그렇지 않다는 것을 알 수 있습니다. 그런 다음 if 문에 대한 조건이 충족되었는지 여부를 파악하여 잘못된 점을 찾을 수 있습니다.
왜 긴 코드를 사용하여 logout.php에서 세션을 파괴합니까? 세션을 시작한 다음 세션을 종료하십시오. 비슷한 코드입니다.
<?php
session_start();
if(session_destroy())
{
header("Location: index.php");
}
?>