2011-10-27 1 views
2

私はこのコードに夢中になり、未設定の関数に絞りました。セッション変数でunsetを呼び出すと、PHPはその点を超えて何も実行しません。誰かが助けてくれますか?セッション変数の設定を解除すると、実行が中止されます

public static function print_session_notification() { 

    if(isset($_SESSION['notification'])) { 
     $session_notification = $_SESSION['notification']; 

     $output = '<div class="error">'; 
     $output .= $_SESSION['notification']; 
     $output .= '</div>'; 

     unset($_SESSION['notification']); 

     return $output; 
    } 
} 

私はprint notification :: print_session_notification()を呼び出します。ヘッダーから。ヘッダインクルードは関数によって呼び出されます。 $通知オブジェクトは、ヘッダーファイルを呼び出す関数ではグローバルです。

+0

投稿したコードに何も問題はありません。エラーは再現されません。可能な限り小さなコードでエラーを再現してみてください。私たちは、あなたが投稿したものであなたを助けることはできません。 – meagar

+0

私に右に見える – NikiC

+0

あなたはregister_globalsを 'ON'にしていますか? http://www.php.net/manual/en/function.unset.php#40539関連性があります:http://stackoverflow.com/questions/1025300/problem-unsetting-a-session-variable –

答えて

-1

私はメソッドを追加することによって、問題を修正ヘッダとhttp://www.php.net/manual/en/function.unset.php

+1

Register GlobalsはPHP 5.3.0以降では廃止されました –

+0

私はあなたの権利を見ています。ありがとう –

0

のコメントを読んで詳細については

「ON」にregister_globalsの設定あなたはあなたのにsession_start()関数を設定することを確認してください。セッション値を作成してパブリックプロパティに割り当てます。あなたの助けを借りてくれてありがとう!