저는 유지 관리중인 PHP 웹 사이트를 보유하고 있으며, 한 곳에서 작동했음을 확인했습니다.
로그인 한 사용자의 정보를 $_SESSION['user']
변수에 저장하는 로그인 시스템을 사용하는 웹 사이트가 있습니다. 본질적으로 세션의 해당 부분을 제거한 /logout.php을 클릭하면 사용자를 로그 아웃 한 다음 header()
이 홈페이지로 리디렉션됩니다. print_r()
가 디버깅을 위해 출력을 사용하는 경우 최근의로
session_start()
와
/logout.php 파일은 어떻게 든 세션 정보를 볼 수 없습니다.
다른 페이지로 이동하면 세션 정보가 정상적으로 표시되지만 로그 아웃 페이지에는 표시되지 않습니다 ... 세션 정보가 액세스 할 수 없기 때문에 세션 정보를 삭제할 수없는 이유가 바로 여기에 있습니다.
나는 브라우저가 닫힐 때까지 $_SESSION
가 사이트 전체에 존재한다고 생각했습니다. 나는 이런 일이 없었으며 세션 인스턴스가이 페이지에서 시작되었다는 것을 알았 기 때문에 세션 데이터를 표시하지 않는 것이 이상합니다.
아이디어가 있으십니까? 나는이 하나에 완전히 난처 해!
코드 : /logout.php
<?
#session_start() is inside this file
require_once($_SERVER['DOCUMENT_ROOT'].'/includes/config.php');
unset($_SESSION['user']);
header("location: /");
exit();
?>
$_SESSION['user']
의 검사가 사이트 전체이며 다른 것들을 필요로 할 때 내가 그 아래 여러 항목을 호출합니다. 다른 누군가가이 사이트를 구축했으며 왜 갑자기 그 사이트가 작동하지 않는지 디버그하려고합니다.
FYI -이 logout.php 페이지의 다른 환경 변수는 $ _SERVER []와 (과) 비슷합니다. 어떤 이유로 $ _SESSION [] 변수에 액세스 할 수없는 것 같습니다. 정말 이상합니다. –
session_start() (및 주변)에 사용 된 코드와 작업 및 비 작동 (logout.php) 페이지 모두에 대해 $ _SESSION [ 'user']에 액세스하는 코드를 제공 할 수 있습니까? –