복붙노트

세션 변수가 작동하지 않는 PHP

PHP

세션 변수가 작동하지 않는 PHP

다음은 로그인 스크립트가 사용자의 진위 여부를 확인한 다음 헤더 기능을 사용하여받은 편지함 페이지로 리디렉션하는 내 로그인 페이지의 코드입니다.

<?php
session_start();

include_once('config.php');
$user=htmlentities(stripslashes($_POST['username']));
$password=htmlentities(stripslashes($_POST['password']));
// Some query processing on database    

if(($id_user_fetched<=$id_max_fetched) && ($id_user_fetched!=0)){
$_SESSION['loggedIn'] = 'yes';
    header("Location:http://xyz/inbox.php?u=$id_user_fetched");
    //echo 'Login Successful';
    }else{
        echo 'Invalid Login';
        echo'<br /> <a href="index.html">Click here to try again</a>';
        }
}else{
    echo mysqli_error("Login Credentials Incorrect!");
    }
?>

inbox.php 페이지는 다음과 같습니다 :

<?php
session_start(); 
echo 'SESSION ='.$_SESSION['loggedIn'];
if($_SESSION['loggedIn'] != 'yes'){
echo $message = 'you must log in to see this page.';
//header('location:login.php');
}
 //REST OF THE CODE

?>

위의 코드에서 inbox.php는 항상 출력을 보여줍니다 :  SESSION =이 페이지를 보려면 로그인해야합니다. 이는 세션 변수가 설정되지 않았거나 inbox.php가 세션 변수를 검색 할 수 없음을 의미합니다. 내가 어디로 잘못 가고 있니?

해결법

  1. ==============================

    1.리디렉션 후 PHP 세션 손실

    리디렉션 후 PHP 세션 손실

  2. ==============================

    2.나는 한동안 똑같은 문제를 겪었고 그것을 알아 내는데 어려움을 겪었다. 내 문제는 세션이 제대로 작동하는 동안 사이트를 잠시 동안 작동시킨 다음 모든 것이 갑자기 파열되었다는 것이 었습니다.

    나는 한동안 똑같은 문제를 겪었고 그것을 알아 내는데 어려움을 겪었다. 내 문제는 세션이 제대로 작동하는 동안 사이트를 잠시 동안 작동시킨 다음 모든 것이 갑자기 파열되었다는 것이 었습니다.

    필자의 session_save_path ()는 / var / lib / php5 /인데 올바른 사용 권한이 있어야합니다 (예 : www-data에 디렉토리에 대한 쓰기 권한이 있어야합니다). 실수로 세션을 변경하여 완전히 변경했습니다.

    sudo chmod -R 700 / var / lib / php5 /를 실행 한 다음 sudo chown -R www-data / var / lib / php5 /를 실행하면 php 사용자가 폴더에 액세스 할 수 있습니다.

  3. ==============================

    3.세션 경로가 제대로 작동하지 않는 경우 session.save_path (path / to / any 폴더)를 시도해보십시오. 대체 경로로 기능한다. 작동하는 경우 기본 경로 문제에 대해 호스팅 제공 업체에 문의 할 수 있습니다.

    세션 경로가 제대로 작동하지 않는 경우 session.save_path (path / to / any 폴더)를 시도해보십시오. 대체 경로로 기능한다. 작동하는 경우 기본 경로 문제에 대해 호스팅 제공 업체에 문의 할 수 있습니다.

  4. ==============================

    4.연결 스크립트를 사용한다면 session_start ()를 사용하는 것을 잊지 마십시오; 연결에서 너무 그 문제를 알기 전에 약간의 문제가있었습니다.

    연결 스크립트를 사용한다면 session_start ()를 사용하는 것을 잊지 마십시오; 연결에서 너무 그 문제를 알기 전에 약간의 문제가있었습니다.

  5. ==============================

    5.방금 호스팅 서비스와 이야기를 나눴습니다. 결국 문제였습니다. 그는 "귀하의 계정 session.save_path가 결과 문제로 설정되지 않았습니다. 지금 귀하를 위해 설정했습니다."라고 말했습니다.

    방금 호스팅 서비스와 이야기를 나눴습니다. 결국 문제였습니다. 그는 "귀하의 계정 session.save_path가 결과 문제로 설정되지 않았습니다. 지금 귀하를 위해 설정했습니다."라고 말했습니다.

    그리고 그 후 잘 작동합니다 :)

  6. ==============================

    6.세션이 작동하지 않는 또 다른 중요한 이유는 세션 쿠키 설정 (예 : 간단한 실수 또는 다른 개발자의 이유로 세션 쿠키 수명을 0 또는 다른 낮은 값으로 설정합니다.

    세션이 작동하지 않는 또 다른 중요한 이유는 세션 쿠키 설정 (예 : 간단한 실수 또는 다른 개발자의 이유로 세션 쿠키 수명을 0 또는 다른 낮은 값으로 설정합니다.

    session_set_cookie_params(0)
    
  7. ==============================

    7.비슷한 문제와 쿠키 도메인이 있습니다.

    비슷한 문제와 쿠키 도메인이 있습니다.

        ini_set('session.cookie_domain', '.domain.com');
    

    도메인이 잘못 설정되어 사용자 쿠키가 설정되지 않았기 때문에 모든 세션이 무시되었습니다. 이는 누군가에게 도움이되기를 바랍니다.

  8. ==============================

    8.오늘이 문제가 발생했습니다. 이 문제는 $ config [ 'base_url']과 관련이 있습니다. htpp : //www.domain.com과 http://example.com이 문제였습니다. 수정하려면 base_url을 http://www.example.com으로 설정하십시오.

    오늘이 문제가 발생했습니다. 이 문제는 $ config [ 'base_url']과 관련이 있습니다. htpp : //www.domain.com과 http://example.com이 문제였습니다. 수정하려면 base_url을 http://www.example.com으로 설정하십시오.

  9. ==============================

    9.또한 문제를 해결하기 위해 다음 단계를 수행 한 동일한 문제에 직면했습니다.

    또한 문제를 해결하기 위해 다음 단계를 수행 한 동일한 문제에 직면했습니다.

    2 그 후에 방금 아래에 주어진 권한을 변경 * chown root.apache / var / lib / php / session * 그게 전부 야. 위의 단계를 수행하면 문제가 해결됩니다.

  10. from https://stackoverflow.com/questions/19692157/session-variables-not-working-php by cc-by-sa and MIT license