<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            php語言

            PHP中session使用方法詳解

            時間:2025-03-03 03:02:34 php語言 我要投稿
            • 相關推薦

            PHP中session使用方法詳解

              Session指的就是用戶在瀏覽某個網站時,從進入網站到瀏覽器關閉所經過的這段時間,也就是用戶瀏覽這個網站所花費的時間。從上述的定義中我們可以看到,Session實際上是一個特定的時間概念。跟隨小編去看看吧!

              一般來說,在網站上某一個頁面中的變量(指服務器端變量,下同)是不能在下一頁中用的,有了session就好辦了。session中注冊的變量可以作為全局變量使用。這樣我們就可以將session用于用戶身份認證,程序狀態記錄,頁面之間參數傳遞。

              在PHP3版本中是如何實現session的?

              php3本身是沒有實現session功能的,我們只有用其他的方法來實現,這其中最有名的要算phplib了。phplib最基本的功能包括用戶認證、Session管理、權限及數據庫的抽象化。下面我們就講述一下如何用phplib實現session。

              1、首先安裝phplib(環境為win2000+php3.0.16+Apache1.3.12+phplib7.2c+mysql3.23.21 for win32)

              首先將phplib解開,里面有一個"php"目錄,將這個目錄拷貝到Apache的安裝目錄下。例如:Apache安裝在d:\Apache 目錄下,那么就將"php"目錄拷貝到d:\Apache,并將phplib目錄的pages目錄下(不包括目錄本身)的文件和目錄一起拷貝到d:\Apache\htdocs下。

              phplib的類庫需要根據系統進行初始化,可能需要修改local.inc文件,其中包含著一些基本參數,可以根據自己機器的實際情況來進行修改。

              將d:\Apache\php\prepend.php文件中的一段程序改為如下樣子:

              if (!isset($_PHPLIB) or !is_array($_PHPLIB)) {

              $_PHPLIB["libdir"] = "d:/Apache/php/"; //放phplib下php目錄的路徑

              }

              修改d:\Apache\php\local.inc文件:

              class DB_Example extends DB_Sql {

              var $Host = "localhost"; //mysql數據庫所在主機名

              var $Database = "test"; //數據庫名

              var $User = "root"; //數據庫用戶名

              var $Password = "1234567"; //數據庫用戶密碼

              }

              最后根據phplib目錄下的stuff子目錄中的create_database.mysql文件生成初始表。

              由于每一個使用phplib的頁面首先必須可以找到運行phplib所必需的類庫文件,我們可以在php.ini中設置auto_prepend變量來支持,phplib中包含一個prepend.php文件,并將auto_prepend指定為"d:/Apache/php/prepend.php"(帶引號)后,各頁面就會自動包含phplib類庫,我們還可以將phplib類庫所在目錄加進include變量中,以便可以找到這些文件。

              2、調用page_open()函數

              在每一個使用phplib的頁面中,必須首先調用page_open函數進行初始化,例如:

              <?php

              page_open(array("sess" => "Test_Session"));

              ?>

              數組變量(sess)用來初始化一些狀態保存對象,這里應該注意:必須使用phplib內置名(sess),這些內置名是在local.inc中所定義的.。

              因為phplib使用了Cookies來保存狀態信息,所以page_open()函數必須在頁面內容輸出到瀏覽器之前被調用。php腳本最后應以page_close()結束,這將會將有關狀態數據寫回到數據庫中,否則變量會丟失。

              3、具體使用。

              注冊一個變量后即可在隨后的頁面中使用它,直至session結束。方法:

              <?php $sess->register( "varname"); ?>

              注意,這里的varname不是變量值,而是變量名,可以先指定變量名,隨后再賦值。你在某個頁面中可以改變變量的值,隨后的頁面訪問該變量時會得到改變后的值。變量的類型是多樣的,可以是一個字符串,一個數字,一個數組。舉例來說明:

              第一頁:

              <?php

              page_open(array("sess" => "Test _Session"));

              $sess->register( "welcome"); //注冊變量$welcome,注意不需要加$

              $welcome="Hello,PHP world!";

              ……

              page_close();

              ?>

              第二頁:

              <?php

              page_open();//開始session

              echo $welcome;//顯示第一頁中定義的$welcome

              page_close();//保存狀態信息

              ?>

              注冊完一個變量,當頁面最后調用page_close()函數后,各個session變量會被寫回到數據庫中。如果忘記調用page_close()函數的話,變量就不會被寫回數據庫,這樣將出現不可預知的后果。當變量被使用完畢,不再需要用到時,可以調用以下函數將變量刪除:

              <?php

              page_open(array("sess" => "Test _Session"));

              ……

              $sess->unregister( "variable_name");

              ……

              page_close();

              ?>

              在PHP4版本中是如何實現session的?

              php4的session也靠cookies保存session id,用文件系統保存變量(默認情況下),因此,它的session變量不能保存對象。當然也可以將session保存在數據庫中。

              在php4中有關session的函數很多(詳見php.ini配置一文),通常情況下我們只需要調用三個函數即可:sesssion_start()、session_register()、session_is_registered()。

              在需要用到session的每一頁的最開始處調用session_start()函數, 例如:

              <?session_start()?>

              <html><body>

              <?

              $welcome="hello world !";

              session_register("welcome");//注冊$welcome變量,注意沒有$符號

              if(session_is_registered("welcome"))//檢查$welcome變量是否注冊

              echo "welcome變量已經注冊了!";

            【PHP中session使用方法詳解】相關文章:

            Session在PHP中的使用07-24

            如何使用php中session08-27

            PHP中strtotime函數使用方法詳解11-16

            php中session的基礎知識09-11

            php中Session存儲到Redis的方法09-23

            PHP中$-SERVER的詳解06-25

            關于PHP中session 存儲方式的詳細介紹07-31

            PHP中的設計模式詳解06-02

            PHP中的魔術方法詳解08-14

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看