• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

        PHP腳本的10個(gè)技巧(轉(zhuǎn)自ZDNet) --會(huì)話(Session)用法

        PHP腳本的10個(gè)技巧(轉(zhuǎn)自ZDNet) --會(huì)話(Session)用法

        更新時(shí)間:2022-05-07 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

        會(huì)話用法

        PHP 4.0有一個(gè)一直為人所期待的特性,這就是PHP的會(huì)話(session)支持。相比之下,PHP 3.0的用戶則不得不使用第三方的程序庫(kù)或完全不能具備這項(xiàng)功能。缺乏會(huì)話支持能力是PHP最大的缺陷之一,也是它最受人指摘的地方。不過(guò),隨著會(huì)話支持從早期測(cè)試版本的PHP 4.0開(kāi)始就成為后者的一部分,這個(gè)障礙也蕩然無(wú)存了。

        有了會(huì)話支持,你就可以在用戶訪問(wèn)網(wǎng)絡(luò)站點(diǎn)期間維持用戶特定的變量而無(wú)須象現(xiàn)在這樣:設(shè)置多個(gè)cookie、使用隱蔽表單域或在你可能經(jīng)常要連結(jié)的一個(gè)數(shù)據(jù)庫(kù)內(nèi)存儲(chǔ)信息等。

        在一個(gè)頁(yè)面上啟動(dòng)會(huì)話就是告訴PHP引擎:你或是要開(kāi)始一個(gè)會(huì)話(如果先前沒(méi)有)或是繼續(xù)目前的會(huì)話:

        session_start();

        啟動(dòng)一個(gè)會(huì)話將通過(guò)cookie向用戶發(fā)送一個(gè)標(biāo)識(shí)字符串(比如940f8b05a40d5119c030c9c7745aead9);在服務(wù)器端則會(huì)創(chuàng)建一個(gè)與此相匹配的臨時(shí)文件,在以上例子中,其名稱則是這個(gè)樣子:sess_940f8b05a40d5119c030c9c7745aead9。該文件包含了注冊(cè)的會(huì)話變量及其賦值。

        用戶訪問(wèn)計(jì)數(shù)器可謂使用會(huì)話的最常見(jiàn)實(shí)例:

        啟動(dòng)你的PHP模塊,保證PHP代碼是文件的第一行:沒(méi)有空白、沒(méi)有HTML輸出等等。這是因?yàn)椋?dāng)會(huì)話函數(shù)發(fā)出一個(gè)文件頭的時(shí)候,如果你在session_start()函數(shù)之前發(fā)送了空白或者HTML代碼,系統(tǒng)即會(huì)報(bào)錯(cuò)。

        <?
        // if a session does not yet exist for this user, start one
        session_start();

        接下來(lái),注冊(cè)一個(gè)名為count的變量。

        session_register('count');

        注冊(cè)變量就等于告訴了PHP:只要會(huì)話存在,一個(gè)名叫count的變量也就同時(shí)存在。目前這個(gè)變量還沒(méi)有賦值。不過(guò),如果你對(duì)它進(jìn)行加1運(yùn)算的話,該值即可被賦值為1:

        $count++;

        把以上各行代碼一起考慮,實(shí)際上你已經(jīng)啟動(dòng)了一個(gè)會(huì)話(如果先前沒(méi)有)、為某個(gè)用戶分配了會(huì)話id、注冊(cè)了名為count的變量并把$count加1以表示用戶首次訪問(wèn)頁(yè)面:

        要顯示用戶在當(dāng)前會(huì)話下訪問(wèn)頁(yè)面的次數(shù),你只要打印出$count的值即可:

        echo "<P>You've been here $count times.</p>";

        整個(gè)訪問(wèn)計(jì)數(shù)器代碼如下所示:

        <?
        session_start();
        session_register('count');
        $count++;
        echo "<P>You've been here $count times.</p>";
        ?>

        如果你重載以上腳本,你可以觀察到計(jì)數(shù)值增加了。有意思吧?

        你還可以在會(huì)話中注冊(cè)數(shù)組。假設(shè)你有一個(gè)名為$faves的數(shù)組:

        $faves = array ('chocolate','coffee','beer','linux');

        你可以象其他單個(gè)變量一樣注冊(cè)該數(shù)組:

        session_register('faves');

        索引數(shù)組和索引其他單變量沒(méi)有什么差別,比如$faves這樣。如果你的用戶想在Web站點(diǎn)的一個(gè)頁(yè)面上展示自己的愛(ài)好,那么你完全可以把他喜歡的東西注冊(cè)為一個(gè)名為$faves會(huì)話變量,然后你可以在其他頁(yè)面上把這些值打印出來(lái):

        <?
        session_start();
        echo "My user likes:
        <ul>";

        while (list(,$v) = each ($faves)) {
        echo "<li>$v"; }

        echo "</ul>";
        ?>

        這就是你要得到的:用戶愛(ài)好的漂亮列表。

        會(huì)話變量不能被查詢字符串所覆蓋,這就是說(shuō),你不能鍵入http:///www.yourdomain.com/yourscript.php?count=56 這樣的指令為注冊(cè)會(huì)話變量$count分配新值。這一點(diǎn)對(duì)安全而言是非常重要的:你只能在服務(wù)器端腳本上修改或者刪除(未注冊(cè)的)會(huì)話變量。

        如果你想完全刪除某個(gè)會(huì)話變量,你可以從系統(tǒng)中取消注冊(cè)該變量:

        session_unregister('count');

        徹底刪除某個(gè)會(huì)話,比如按下Logout按鈕就是這樣的例子,那么你可以寫(xiě)下如下的代碼:

        session_destroy();

        使用會(huì)話來(lái)存儲(chǔ)變量值可以讓我們免于編寫(xiě)數(shù)據(jù)庫(kù)處理代碼的痛苦,這樣也就不會(huì)過(guò)度增加對(duì)系統(tǒng)的負(fù)載,同時(shí)也減少了對(duì)專有數(shù)據(jù)庫(kù)語(yǔ)法的使用范圍,再說(shuō),你也不再非得向訪問(wèn)站點(diǎn)的用戶發(fā)送一大堆cookie了。而現(xiàn)在呢——只需要一個(gè)cookie、一個(gè)變量就全部搞定了,真是一滴水就映出了全部光輝!實(shí)在是不能比這更簡(jiǎn)單的了。

        溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

        本類(lèi)教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 亚洲一区二区三区久久| 国产乱子影视频上线免费观看| 国产精品亚洲精品日韩已方| 2020国产精品亚洲综合网| 99久久免费国产精精品| 亚洲国产高清精品线久久| 亚洲综合一区国产精品| 麻豆高清免费国产一区| 亚洲AV永久青草无码精品| 一级成人a免费视频| 免费看美女被靠到爽| 亚洲精品国产精品国自产网站| 99久久久国产精品免费牛牛 | 国产精品视_精品国产免费| 国产亚洲精品AAAA片APP| 暖暖日本免费中文字幕| 免费人成激情视频| 国产亚洲一卡2卡3卡4卡新区 | 亚洲av无码片vr一区二区三区 | 亚洲国产午夜精品理论片| **aaaaa毛片免费| 亚洲人成网站在线播放影院在线| 一个人免费视频观看在线www| 亚洲一区无码精品色| 国产特黄特色的大片观看免费视频| 亚洲av无码天堂一区二区三区 | 国产香蕉九九久久精品免费| 亚洲人成网站18禁止久久影院| 24小时日本韩国高清免费| 亚洲视频欧洲视频| 国产成人yy免费视频| 亚洲成_人网站图片| 日韩在线a视频免费播放| 日韩在线视精品在亚洲| 亚洲午夜福利精品无码| 国产午夜不卡AV免费| 亚洲网站在线播放| 成年18网站免费视频网站| 99亚偷拍自图区亚洲| 亚洲经典千人经典日产| 亚洲国产专区一区|