av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

php語(yǔ)言

PHP中session使用方法詳解

時(shí)間:2025-03-03 03:02:34 php語(yǔ)言 我要投稿
  • 相關(guān)推薦

PHP中session使用方法詳解

  Session指的就是用戶在瀏覽某個(gè)網(wǎng)站時(shí),從進(jìn)入網(wǎng)站到瀏覽器關(guān)閉所經(jīng)過(guò)的這段時(shí)間,也就是用戶瀏覽這個(gè)網(wǎng)站所花費(fèi)的時(shí)間。從上述的定義中我們可以看到,Session實(shí)際上是一個(gè)特定的時(shí)間概念。跟隨小編去看看吧!

  一般來(lái)說(shuō),在網(wǎng)站上某一個(gè)頁(yè)面中的變量(指服務(wù)器端變量,下同)是不能在下一頁(yè)中用的,有了session就好辦了。session中注冊(cè)的變量可以作為全局變量使用。這樣我們就可以將session用于用戶身份認(rèn)證,程序狀態(tài)記錄,頁(yè)面之間參數(shù)傳遞。

  在PHP3版本中是如何實(shí)現(xiàn)session的?

  php3本身是沒(méi)有實(shí)現(xiàn)session功能的,我們只有用其他的方法來(lái)實(shí)現(xiàn),這其中最有名的要算phplib了。phplib最基本的功能包括用戶認(rèn)證、Session管理、權(quán)限及數(shù)據(jù)庫(kù)的抽象化。下面我們就講述一下如何用phplib實(shí)現(xiàn)session。

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

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

  phplib的類庫(kù)需要根據(jù)系統(tǒng)進(jìn)行初始化,可能需要修改local.inc文件,其中包含著一些基本參數(shù),可以根據(jù)自己機(jī)器的實(shí)際情況來(lái)進(jìn)行修改。

  將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數(shù)據(jù)庫(kù)所在主機(jī)名

  var $Database = "test"; //數(shù)據(jù)庫(kù)名

  var $User = "root"; //數(shù)據(jù)庫(kù)用戶名

  var $Password = "1234567"; //數(shù)據(jù)庫(kù)用戶密碼

  }

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

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

  2、調(diào)用page_open()函數(shù)

  在每一個(gè)使用phplib的頁(yè)面中,必須首先調(diào)用page_open函數(shù)進(jìn)行初始化,例如:

  <?php

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

  ?>

  數(shù)組變量(sess)用來(lái)初始化一些狀態(tài)保存對(duì)象,這里應(yīng)該注意:必須使用phplib內(nèi)置名(sess),這些內(nèi)置名是在local.inc中所定義的.。

  因?yàn)閜hplib使用了Cookies來(lái)保存狀態(tài)信息,所以page_open()函數(shù)必須在頁(yè)面內(nèi)容輸出到瀏覽器之前被調(diào)用。php腳本最后應(yīng)以page_close()結(jié)束,這將會(huì)將有關(guān)狀態(tài)數(shù)據(jù)寫(xiě)回到數(shù)據(jù)庫(kù)中,否則變量會(huì)丟失。

  3、具體使用。

  注冊(cè)一個(gè)變量后即可在隨后的頁(yè)面中使用它,直至session結(jié)束。方法:

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

  注意,這里的varname不是變量值,而是變量名,可以先指定變量名,隨后再賦值。你在某個(gè)頁(yè)面中可以改變變量的值,隨后的頁(yè)面訪問(wèn)該變量時(shí)會(huì)得到改變后的值。變量的類型是多樣的,可以是一個(gè)字符串,一個(gè)數(shù)字,一個(gè)數(shù)組。舉例來(lái)說(shuō)明:

  第一頁(yè):

  <?php

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

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

  $welcome="Hello,PHP world!";

  ……

  page_close();

  ?>

  第二頁(yè):

 。?php

  page_open();//開(kāi)始session

  echo $welcome;//顯示第一頁(yè)中定義的$welcome

  page_close();//保存狀態(tài)信息

  ?>

  注冊(cè)完一個(gè)變量,當(dāng)頁(yè)面最后調(diào)用page_close()函數(shù)后,各個(gè)session變量會(huì)被寫(xiě)回到數(shù)據(jù)庫(kù)中。如果忘記調(diào)用page_close()函數(shù)的話,變量就不會(huì)被寫(xiě)回?cái)?shù)據(jù)庫(kù),這樣將出現(xiàn)不可預(yù)知的后果。當(dāng)變量被使用完畢,不再需要用到時(shí),可以調(diào)用以下函數(shù)將變量刪除:

 。?php

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

  ……

  $sess->unregister( "variable_name");

  ……

  page_close();

  ?>

  在PHP4版本中是如何實(shí)現(xiàn)session的?

  php4的session也靠cookies保存session id,用文件系統(tǒng)保存變量(默認(rèn)情況下),因此,它的session變量不能保存對(duì)象。當(dāng)然也可以將session保存在數(shù)據(jù)庫(kù)中。

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

  在需要用到session的每一頁(yè)的最開(kāi)始處調(diào)用session_start()函數(shù), 例如:

  <?session_start()?>

 。糷tml><body>

  <?

  $welcome="hello world !";

  session_register("welcome");//注冊(cè)$welcome變量,注意沒(méi)有$符號(hào)

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

  echo "welcome變量已經(jīng)注冊(cè)了!";

【PHP中session使用方法詳解】相關(guān)文章:

Session在PHP中的使用07-24

如何使用php中session08-27

PHP中strtotime函數(shù)使用方法詳解11-16

php中session的基礎(chǔ)知識(shí)09-11

php中Session存儲(chǔ)到Redis的方法09-23

PHP中$-SERVER的詳解06-25

關(guān)于PHP中session 存儲(chǔ)方式的詳細(xì)介紹07-31

PHP中的設(shè)計(jì)模式詳解06-02

PHP中的魔術(shù)方法詳解08-14