2011-10-27 58 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_session_notification();從標題包含。標題包含被函數調用。 $ notification對象在調用頭文件的函數中是全局的。

+0

您發佈的代碼沒有任何問題,並且不會重現您的錯誤。嘗試用盡可能少的代碼重現錯誤。我們無法幫助您瞭解您發佈的內容。 – meagar

+0

看起來對我來說 – NikiC

+0

你有register_globals是'開'嗎? http://www.php.net/manual/en/function.unset.php#40539可能相關:http://stackoverflow.com/questions/1025300/problem-unsetting-a-session-variable –

回答

-1

請確保您設置session_start()函數你頭,並設置了register_globals爲「ON」

欲瞭解更多信息通過添加一個方法來讀上http://www.php.net/manual/en/function.unset.php

+1

從PHP 5.3.0開始,註冊Globals已經被取消 –

+0

我明白了,是的,您的權利。謝謝 –

0

的意見,我固定的問題構造並將會話值分配給公共屬性。感謝您的幫助!