0

コーディング プロセス全体でオンとオフを繰り返す奇妙なエラーが発生しています。

すべてのページで、ページの上部に authentication.php を require_once します。

そこにはこれがあります:

if(!isset($_SESSION)) session_start();
if(!isset($_SESSION['test'])) 
{ 
    $_SESSION['auth'] = randString(); //this is my own method creating a random auth id
    $_SESSION['test'] = "Session is set and remembered.";   
}

ただし、認証は更新ごとにランダムな ID を生成し続けます。

この時点で、セッションが「PHPSESSID」をCookie形式で保存していることを発見し、それを次のように変更しました

if(!isset($_SESSION['auth'])) 
{ 
    $_SESSION['auth'] = $_COOKIE['PHPSESSID'];
}
else
{
    echo "hi";  
}

これにより、セッション ID が更新ごとに変更されることはなくなりましたが、エコー 'hi' が返されることはなく、セッション値が保存されていないという結論に達しました。

私が間違っていることを誰かが知っていますか?

4

2 に答える 2

1

session_start()セッションが開始された後でも、ページの上部で呼び出す必要があります。

if先頭の を削除します。if(!isset($_SESSION))

于 2013-05-28T08:39:32.767 に答える