2016-12-14 12 views
0

私のサイトでは、login.phpページ(ログインが成功した場合)はindex.phpにリダイレクトされ、セッションと2つのセッション変数が開始されます。1つのページで複数のSESSION変数を使用していない

$_SESSION["message"] = "Login successful!"; 

第二は、ユーザーのセッション変数である:開始変数の

一つは成功メッセージです

$_SESSION["authenticatedUserEmail"] = $email; 

問題は、私が個別に変数をチェックすると、その後、試してみて、ということですそれらをindex.phpページで使用すると、最初にチェックされたものだけが動作します。

この次のスニペットは、$form_messageが表示されますが、それは$_SESSION["authenticatedUserEmail"]は表示されません。

session_start(); 
if(isset($_SESSION["message"])) { 
    $form_message = $_SESSION["message"]; 
    session_unset($_SESSION["message"]); 
    echo $form_message; 
} else { 
    $form_message = ""; 
} 


if (isset($_SESSION["authenticatedUserEmail"])) { 

    echo $_SESSION["authenticatedUserEmail"]; 

} 

私は一つだけif(isset($_SESSIONステートメントを使用するが、私はいつも同じ文の中の両方を含めたくない場合には、作業を行い。

私は、エラーチェックをやった:

ini_set('display_errors',1); 
error_reporting(E_ALL); 

をしかし、エラーは表示されません。

これはなぜ動作しないのか、何か不足しているのを誰にも示唆できますか?

ありがとうございます。

答えて

4

session_unset機能すべてのセッション変数を解放します。これがsession_unsetを使用しているときに、次のセッション変数が確立されない理由です。マニュアルをお読みください。

http://php.net/manual/en/function.session-unset.php

あなたが

unset($_SESSION["message"]); 

が、これは

+0

感謝を役に立てば幸い未設定の機能を使用することができます欲しいものを達成するために!これはすぐに働いた。 +1 – drew

2

session_unsetへのお電話は問題です。unsetを使用するだけです。

session_unset$_SESSIONアレイをすべて無効にします。

関連する問題