<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 框架中session/cookie的使用 **session** session的作用主要在保存會話信息,在訪問者瀏覽網站的期間,對訪問者相關的信息進行記錄,當瀏覽器關閉后,會話結束,session數據也就消失了。 PHP框架中session是一個數組,可以通過$_SESSION['key'] = $value的方式對session賦值。如: $_SESSION['myname'] = 'Helllo'; echo $_SESSION['myname']; 使用session的前提,是程序已經打開session_start()。 新版sp框架中,session_start()默認沒有開啟,如果需要開啟,請把session_start()放在init()或者入口文件內。 使用session過程中,會遇到輸出header與session沖突的問題。通常會提示: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at xxx.php:29) in xxx 引起該問題的原因,是在session_start()之前,存在輸出的header或字符。這里給以下幾個建議: - 全局的header輸出,要放在入口文件全局定義的位置,不要放入口文件的開頭。當然,如果是單個header輸出,如文件下載,則可以直接放到某個控制器/方法中。 - 檢查文件是否帶BOM或其他輸出字符,BOM可以通過編輯器來檢查,而輸出字符,則可以通過在瀏覽器中另存源文件下來,用記事本打開,看到亂碼或空格就證明有輸出字符。這些字符可以通過把源文件放到記事本中另存為來消除。 - 可以在入口文件全局定義位置中,加入ob_start();來避免出錯。 > session通常還有許多設置,如將session存放到數據庫中等等。詳情請見php.net文檔。 這些session的設置,均可以放到入口文件全局定義位置來設置。 session存放的位置,是在服務器的系統臨時中,所以一般而言,session文件中的內容不會被訪問者瀏覽到。 **PHP框架中cookie的使用** cookie在程序中使用通常作為“保持登錄”或是跟蹤訪問者操作等。和session不同,cookie存放的位置,是在訪問者的瀏覽器緩存中。 cookie的使用有幾個要素:過期時間、路徑、域。cookie可以通過setcookie函數設置: setcookie ( COOKIE名字, COOKIE值, 過期時間, 路徑, 域名 ); - 過期時間:默認是會話時間長度,和session相同。 - 路徑:默認是“/”,設置在當前域名下COOKIE生效的路徑。 - 域:域名,默認是當前網站域名。可以設置成 - “.speedphp.com”來使得整個網站(包括二級域名)都可以讀取該COOKIE。 $value = '這里是設置的值'; setcookie("TestCookie", $value); // 該cookie的過期時間是會話時間 setcookie("TestCookie", $value, time()+3600); // 該cookie的過期時間是1小時,當前時間time() 加 3600秒(1小時) setcookie("TestCookie", $value, time()+3600, "/bbs/", ".speedphp.com");// 該cookie的過期時間是1小時,只在speedphp.com及speedphp.com二級域名的bbs目錄下使用。 cookie值可以用$_COOKIE數組來獲取。 echo $_COOKIE['TestCookie']; **cookie測試問題** 由于COOKIE是先發送到訪問者瀏覽器中,然后再被瀏覽器發送到服務器給PHP程序。所以在調試COOKIE的時候,要刷新一下頁面才能看到剛才setcookie的值。也就是 // 第一個頁面 // 假設COOKIE的TestCookie沒有值 setcookie("TestCookie", "我是值"); echo $_COOKIE['TestCookie']; // 不會輸出值,因為瀏覽器沒有發送COOKIE上來。 // 第二個頁面 echo $_COOKIE['TestCookie']; // 輸出“我是值”,因為PHP已經讀取到瀏覽器發送的值。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看