2016-09-28 3 views
0

안녕하세요, 저는 PHP를 배우며 포럼을 처음 시작하려고합니다. Forum 테스트를 수행하여 로그인 세션이 올바르게 응답하지 않는 방법을 확인할 수 있습니다. 이름 : 테스트 암호 : 당신이 로그인하지 않은 것처럼 테스트PHP 세션이 올바르게 작동하지 않습니다.

<?php 
//signout.php 
include 'connect.php'; 
include 'header.php'; 

echo '<h2>Sign out</h2>'; 

//check if user if signed in 
if(isset($_SESSION['signed_in']) && $_SESSION['signed_in'] == true) 
{ 
    //unset all variables 
    $_SESSION['signed_in'] = NULL; 
    $_SESSION['user_name'] = NULL; 
    $_SESSION['user_id'] = NULL; 
    $_SESSION['user_level'] = NULL; 


    echo 'Succesfully signed out, thank you for visiting.'; 
    echo " test"; 
} 
else 
{ 
    echo 'You are not signed in. Would you <a href="sign_in.php">like to</a>?'; 
} 

include 'footer.php'; 
?> 

당신은하지만, 로그인 할 수 있습니다 후 일부 페이지를 통해이 보이거나 제대로 로그 아웃하지 않는 로그 아웃 할 때.

문제는 웹 호스팅 서버의 세션 때문입니다. 내 컴퓨터에서 로컬로 WAMP에서 제대로 작동합니다. 다른 웹 호스팅 테스트가 정상적으로 작동합니다. 그것은 무엇

확실하지 ...

+5

코드를 알려주십시오. 귀하의 웹 사이트를 방문하더라도 우리는 PHP 코드를 볼 수 없습니다. 우리가 무슨 일이 일어나는지 말할 수는 없습니다. – icecub

+0

여기에는 예를 들어 코드가 로그 아웃됩니다. 로그 아웃을 시도 할 때 여러 번 그렇게 할 수 있으며 실제로 세션이 NULL 일 때 시간이 걸립니다. 또 다른 웹 호스팅 또는 로컬 서버 WAMP에서 어떻게 작동해야합니다. 문제 없습니다. – Marcel

+0

PHP 로그에서 "이미 보낸 헤더"오류를 확인하고 수정하십시오. http://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php – Barmar

답변

0

어떻게 각 페이지에 세션을 처리하는? 그것은 일반적으로 올바르게 설정되어있는 것처럼 보입니다, 나는 "주제 테스트"에 응답하고 내가 성공적으로 응답했지만 그것이 목록에 나타나지 않는다고보고합니다.

과거에 나를 망쳐 놓은 한 가지는 session_start()를 넣는 것을 잊어 버리는 것입니다. 페이지 상단 또는 해당 페이지를 제공하는 함수에서 가져올 수 있습니다. 세션 데이터는 계속 존재하지만 페이지에 액세스 할 수 없으며 저장하려는 세션 데이터를 기록하지 않습니다.

+0

안녕하세요 크레이그 예. 답장이 즉시 표시되지 않는 또 다른 문제입니다. 시간이 걸린다. session_start()가 먼저 헤더에 있습니다. 이 문제는 다른 곳에서 호스팅하는 웹에서만 발생합니다. 나 또한 로그 아웃을 유지할 수 있으며 때때로 언젠가는 작동하지 않습니다 ... – Marcel

0

그냥 빠른 업데이트를

문제는 내 스크립트하지만 웹 "Unixy 니스 활성화"호스팅하지이었다. 해제해야했습니다.

모든 도움 주셔서 감사합니다.

관련 문제