0

突然セッション変数を渡す際に問題が発生し、何が間違っているのかわかりません。createSession.php と PassingSession.php については、以下のテスト コードを参照してください。createSession.php でセッションを正常に作成できますが、リンクをクリックしてセッションが PassingSession.php に渡されているかどうかを確認すると、セッションが空になります。

注: session_start() は、各ページの一番最初にあるものです。いかなる種類の先行空白もありません。

createSession.php

session_start();

$_SESSION['aID'] =  time();

if($_SESSION['aID']==""){
    echo "Session is empty. There is a problem creating sessions";
}else{
    echo "Session = ".$_SESSION['aID']." There is no problem creating sessions.  <a href='passingSession.php'>Click Here</a> to see if sessions are passing ok.";   
}

passingSession.php

session_start();

if($_SESSION['aID']==""){
    echo "Session is empty. There is a problem passing sessions.";
}else{
    echo "Session = ".$_SESSION['aID'].". Passing sessions is ok."; 
}
4

2 に答える 2

1

セッションが存在するかどうかをテストするために if($_SESSION['aID']=="") を使用しないで、isset()を使用してください。セッション変数を、設定されていない変数とは異なる空の文字列と比較しています。

次のようなものを使用します。

session_start();

if(!isset($_SESSION['aID'])){
    echo "Session is empty. There is a problem passing sessions.";
}else{
    echo "Session = ".$_SESSION['aID'].". Passing sessions is ok."; 
}
于 2013-06-10T14:28:45.753 に答える
0

これはホスティング構成の問題でした。変更が行われ、セッションが正常に機能するようになりました。ありがとうカルロス・カンデロス

于 2013-06-10T15:54:52.687 に答える