PHP 4.0有一個一直為人所期待的特性,這就是PHP的會話(session)支持。相比之下,PHP 3.0的用戶則不得不使用第三方的程序庫或完全不能具備這項功能。缺乏會話支持能力是PHP最大的缺陷之一,也是它最受人指摘的地方 " /> 亚洲欧美精品成人久久91,妇乱子伦激情,站长推荐国产精品视频

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP腳本的10個技巧(2)

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

有了會話支持,你就可以在用戶訪問網絡站點期間維持用戶特定的變量而無須象現在這樣:設置多個cookie、使用隱蔽表單域或在你可能經常要連結的一個數據庫內存儲信息等。

在一個頁面上啟動會話就是告訴php引擎:你或是要開始一個會話(如果先前沒有)或是繼續目前的會話:

session_start();

啟動一個會話將通過cookie向用戶發送一個標識字符串(比如940f8b05a40d5119c030c9c7745aead9);在服務器端則會創建一個與此相匹配的臨時文件,在以上例子中,其名稱則是這個樣子:sess_940f8b05a40d5119c030c9c7745aead9。該文件包含了注冊的會話變量及其賦值。

用戶訪問計數器可謂使用會話的最常見實例:

啟動你的php模塊,保證php代碼是文件的第一行:沒有空白、沒有HTML輸出等等。這是因為,當會話函數發出一個文件頭的時候,如果你在session_start()函數之前發送了空白或者HTML代碼,系統即會報錯。

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

接下來,注冊一個名為count的變量。

session_register('count');

注冊變量就等于告訴了php:只要會話存在,一個名叫count的變量也就同時存在。目前這個變量還沒有賦值。不過,如果你對它進行加1運算的話,該值即可被賦值為1:

$count++;

把以上各行代碼一起考慮,實際上你已經啟動了一個會話(如果先前沒有)、為某個用戶分配了會話id、注冊了名為count的變量并把$count加1以表示用戶首次訪問頁面:

要顯示用戶在當前會話下訪問頁面的次數,你只要打印出$count的值即可:

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

整個訪問計數器代碼如下所示:

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

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

你還可以在會話中注冊數組。假設你有一個名為$faves的數組:

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

你可以象其他單個變量一樣注冊該數組:

session_register('faves');

索引數組和索引其他單變量沒有什么差別,比如$faves這樣。如果你的用戶想在Web站點的一個頁面上展示自己的愛好,那么你完全可以把他喜歡的東西注冊為一個名為$faves會話變量,然后你可以在其他頁面上把這些值打印出來:

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

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

echo "</ul>";
?>

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

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

如果你想完全刪除某個會話變量,你可以從系統中取消注冊該變量:

session_unregister('count');

徹底刪除某個會話,比如按下Logout按鈕就是這樣的例子,那么你可以寫下如下的代碼:

session_destroy();

使用會話來存儲變量值可以讓我們免于編寫數據庫處理代碼的痛苦,這樣也就不會過度增加對系統的負載,同時也減少了對專有數據庫語法的使用范圍,再說,你也不再非得向訪問站點的用戶發送一大堆cookie了。而現在呢――只需要一個cookie、一個變量就全部搞定了,真是一滴水就映出了全部光輝!實在是不能比這更簡單的了。

php技術PHP腳本的10個技巧(2),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久精品国产999久久久 | a男人的天堂久久a毛片 | 丁香婷婷亚洲 | 亚洲小说欧美激情另类 | 国产欧美精品一区二区三区四区 | 欧美久草 | 色综合色狠狠天天久久婷婷基地 | 五月开心久久 | 91午夜在线观看 | 国产亚洲精品午夜高清影院 | 日韩在线一区二区三区视频 | 伊人五月综合 | 狠狠久久综合 | 亚洲欧洲综合 | 色婷婷激婷婷深爱五月小说 | 午夜激情福利 | 岛国a香蕉片不卡在线观看 岛国不卡 | 国产高清一级毛片在线人 | 午夜精品在线视频 | 99久久无色码中文字幕 | 精品国产自在现线看久久 | 国产精品视频一区二区猎奇 | 青青草91视频 | 在线观看中文字幕一区 | www.av在线播放 | 97青青草视频 | 欧美特黄一级片 | 起视碰碰97摸摸碰碰视频 | 欧美成人精品第一区二区三区 | 国产人成精品综合欧美成人 | 欧美日韩激情一区二区三区 | 国产综合视频 | 伊人狠狠干 | 亚洲日本va中文字幕婷婷 | 日本久久伊人 | 国产精品19禁在线观看2021 | 色呦呦免费观看 | 久久久一区二区三区不卡 | 不卡视频一区 | 91免费永久在线地址 | 国内精品1区1区3区4区 |