萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> Session常見函數及用法?

Session常見函數及用法?

        Session_start() :開始一個會話或者返回已經存在的會話。

  說明:這個函數沒有參數,且返回值均為true。如果你使用基於cookie的session(cookie-based sessions),那麼在使用Session_start()之前浏覽器不能有任何輸出,否則會發生以下錯誤:


Warning: Cannot send session cache limiter - headers already sent (output started at /usr/local/apache/htdocs/cga/member/1.php:2)…………


你可以在php.ini裡啟動session.auto_start=1,這樣就無需每次使用session之前都要調用session_start()。但啟用該選項也有一些限制,如果確實啟用了 session.auto_start,則不能將對象放入會話中,因為類定義必須在啟動會話之前加載以在會話中重建對象。


請求結束後所有注冊的變量都會被序列化。已注冊但未定義的變量被標記為未定義。在之後的訪問中這些變量也未被會話模塊定義,除非用戶以後定義它們。


警告: 有些類型的數據不能被序列化因此也就不能保存在會話中。包括 resource 變量或者有循環引用的對象。


注冊SESSION變量:


PHP5使用$_SESSION[‘xxx’]=xxx注冊SESSION全局變量。和GET,POST,COOKIE的使用方法相似。


注意:session_register(),session_unregister ,session_is_registered在php5下不再使用,除非在php.ini裡把register_globle設為on,不過出於安全考慮,強烈建議關閉register_globle。HTTP_SESSION_VARS也不提倡使用了,官方建議用$_SESSION代替之。

copyright © 萬盛學電腦網 all rights reserved