2012-09-30 3 views
0

웹 사이트에 일부 페이지가 있습니다. 모든 페이지는 내가 다음에 넣어 바,이 수행일부 페이지에서만 PHP 세션이 작동하지 않습니다.

session_start(); 
include('bar.php'); 
echo $bar; 

이 bar.php의 내용이 어디를 더 많거나 적은이 :

session_start(); 
$username=$_SESSION['username']; 
if empty($username) { 
    $bar='You are not logged in.'; 
} else { 
    $bar='You are logged in.'; 
} 

문제는 가끔 바 작품 (그것은 내가 실제로있을 때 "로그인 한"것을 보여줍니다.)하지만 때로는 그렇지 않습니다 (로그되지 않은 사용자의 콘텐츠를 보여줍니다). 예를 들어 색인을 탐색하면 기록되지 않은 사용자에 대한 막대가 표시되지만 로그인 페이지에서는 기록 된 사용자의 막대가 표시됩니다.

또한 PHPSESSID 쿠키를 삭제 한 다음 로그인을 시도했습니다. 작동했지만이 버그가 표시되지 않았습니다. 왜?

+3

bar.php에서 session_start()를 제거하고 다시 시도 할 수 있습니까? –

+0

모든 브라우저에서 발생합니까? – air4x

답변

1

두 번째 session_start(); 단순히 무시됩니다. 그래서 나는 이것이 문제가 아니라고 생각합니다. session_start()가 false를 반환하는지 확인할 수 있습니다 : http://es.php.net/manual/en/function.session-start.php

+0

두 번째 session_start();를 테스트했지만 성공한 경우 1 (true)을 반환하고 성공했습니다. –

관련 문제