首頁 php教程 php手册 长沙发上的对话(三)

长沙发上的对话(三)

Jun 13, 2016 am 10:20 AM
東西 基本 複雜 對話 市場 遊戲 示範 現在 現實 知道

市场游戏

  现在你已经知道了基本的东西,再来点复杂的吧,演示一个现实生活中的session 应用。让我们假设一下,你有一个金融门户,它允许它的用户选择四支股票,然后显示每支股票的当前市场价格,并且在每一页上显示用户在这个站点上的过程。

  在下面的例子中,我们假定用户已经被验证过身份并且登录到站点上来了。我们使用了MySQL 数据库,里面有一个名为user_info的表,用于存储用户的四支股票和唯一用户名。一旦一个session被初始化了,我们注册变量保存用户名和四支股票,然后同数据库进行连接,取回值并显示在页面上。

  代码如下:

$#@60;?php

//初始化一个session session_start();

//注册session变量

//用户名
session_register(username);

//选择的股票变量
session_register(stock1);
session_register(stock2);
session_register(stock3);
session_register(stock4);

//连接MySQL
$db = mysql_connect("someserver.com", "tom", "jones");

//选择数据库
mysql_select_db("stock_db", $db);

//使用SQL查询数据库
$query = "select stock_pref1,stock_pref2,stock_pref3,stock_pref4
from user_info where username=$username";

$result = mysql_query($query,$db);

//从数据库中取股票代码,并赋值给session变量
list($stock1,$stock2,$stock3,$stock4) = mysql_fetch_row($result);

echo "Hi $username!$#@60;br$#@62;";
echo "Your selected stocks are:$#@60;br$#@62;";
echo "$stock1$#@60;br$#@62;";
echo "$stock2$#@60;br$#@62;";
echo "$stock3$#@60;br$#@62;";
echo "$stock4$#@60;br$#@62;";

// code to generate rest of page

?$#@62;

  PHP4有许多与session相关的函数 -- 大部分都不需要解释,把他们列在下面。

session_destroy(): 释放所有的session数据(当一个用户从一个站点注销时非常有用,你需要释放掉在他访问期间的所创建的所有变量)。

session_name():设置或读取当前session的名字。

session_id():设置或读取当前session的id值。
session_unregister(session_variable_name):从一个特别的session注销一个变量。

session_is_registered():检查是否一个session变量已经注册了。

例如:

$#@60;?php

session_start();

if(session_is_registered(username))
{
echo "A session variable by the name "username"
already exists";
}
else
{
echo "No variable named "username" registered yet.
Registering...";
session_register(username);
}

?$#@62;

session_encode() and session_decode():将session数据编码成字符串或将字符串解码成session数据。

在这里你可能使用他们:

$#@60;?php

session_start();

session_register(someString);
$someString="I hate cats!";

//将所有的session变量编成一个字符串
$sessStr = session_encode();

//可以在这里看到
echo $sessStr;

echo "$#@60;br$#@62;$#@60;br$#@62;";

//在出现cats的地方用dogs进行替换
$sessStr = ereg_replace("cats","dogs",$sessStr);

//解码后更新了session变量
session_decode($sessStr);

//再显示一次$sessstr
echo $someString;

?$#@62;

  最后,在开始PHPLIB之前,有一个技术性问题你应该知道的 -- 上面所有的例子都使用了cookies在客户端来保存session id值。但是如果用户的浏览器被设成拒绝cookies会怎么样呢?

  如果发生这种情况,那就需要将一个session id通过嵌在url中从一页传递到另一页上去。例如: $#@60;a href="http://www.someserver.com/admin/preferences.php3?PHPSESSID=$#@60;? echo "$PHPSESSID"; ?$#@62;"$#@62;Edit Your Portfolio! $#@60;/a$#@62;

  这个就可以保证在后面的页面中session变量是有效的。


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

NAT Boost與遊戲的Qos;哪個比較好? NAT Boost與遊戲的Qos;哪個比較好? Feb 19, 2024 pm 07:00 PM

在當下幾乎所有遊戲都在線上的情況下,忽視家庭網路的最佳化是不可取的。幾乎所有路由器都配備了NATBoost和QoS功能,旨在提升使用者的遊戲體驗。本文將探討NATBoost和QoS的定義、優點和缺點。 NATBoost與遊戲的Qos;哪個比較好? NATBoost,又稱網路位址轉換Boost,是一種內建於路由器的功能,可提升其效能。對於遊戲而言尤其重要,因為它有助於減少網路延遲,即遊戲設備和伺服器之間資料傳輸的時間。透過優化路由器內的資料處理方式,NATBoost實現了更快的資料處理速度和更低的延遲,從而改

Nvgpucomp64.dll導致Windows PC遊戲崩潰; Nvgpucomp64.dll導致Windows PC遊戲崩潰; Mar 26, 2024 am 08:20 AM

如果Nvgpucomp64.dll導致遊戲經常崩潰,這裡提供的解決方案可能會對您有所幫助。這種問題通常是由於過時或損壞的顯示卡驅動程式、遊戲檔案損壞等原因引起的。修復這些問題可以幫助您解決遊戲崩潰的困擾。 Nvgpucomp64.dll檔案與NVIDIA顯示卡關聯。當這個檔案崩潰時,你的遊戲也會崩潰。這通常發生在《LordsoftheFallen》、《LiesofP》、《RocketLeague》和《ApexLegends》等遊戲中。 Nvgpucomp64.dll使WindowsPC上的遊戲崩潰如果N

英偉達上線 RTX HDR 功能:不支援的遊戲透過 AI 濾鏡達到 HDR 艷麗視覺效果 英偉達上線 RTX HDR 功能:不支援的遊戲透過 AI 濾鏡達到 HDR 艷麗視覺效果 Feb 24, 2024 pm 06:37 PM

本站2月23日消息,英偉達昨晚更新推出了NVIDIA‏‏應用程序,為玩家提供了全新的統一GPU控制中心,便於玩家透過遊戲內懸浮窗提供的強大錄影工具捕捉精彩時刻。在本次更新中,英偉達也引入了RTXHDR功能,本站附上官方介紹如下:RTXHDR是一款AI賦能的全新Freestyle濾鏡,可以將高動態範圍(HDR)的艷麗視覺效果無縫引入到原本不支援HDR的遊戲中。你只需擁有相容HDR的顯示器,即可對大量基於DirectX和Vulkan的遊戲使用此功能。玩家在啟用RTXHDR功能之後,運行即便不支援HD

win11蜘蛛紙牌在哪 win11玩蜘蛛紙牌遊戲的方法 win11蜘蛛紙牌在哪 win11玩蜘蛛紙牌遊戲的方法 Mar 01, 2024 am 11:37 AM

在玩夠3A大作以及手遊的小夥伴們,是不是想重溫一下兒時的電腦遊戲呀?那我們一起在windows11中尋找蜘蛛紙牌吧!點選介面上的開始選單,點選「所有應用」按鈕;點選「所有應用」。找到並選擇“MicrosoftSolitaireCollection”,這是微軟的紙牌系列遊戲應用程式;紙牌系列遊戲選擇。載入完成後,進入選擇介面,找到“蜘蛛紙牌”;選擇“蜘蛛紙牌”。雖然介面有些許變化,但還是以前的

超級人類(superpeople)遊戲下載安裝方法介紹 超級人類(superpeople)遊戲下載安裝方法介紹 Mar 30, 2024 pm 04:01 PM

超級人類(superpeople)遊戲可以透過steam客戶端下載遊戲,這款遊戲的大小在28G左右,下載到安裝通常需要一個半小時​​,以下為大家帶來具體的下載安裝教學!新的申請全球封閉測試方法1)在Steam商店(steam客戶端下載)搜尋“SUPERPEOPLE”2)點擊“SUPERPEOPLE”商店頁面下方的“請求SUPERPEOPLE封閉測試訪問權限”3)點擊請求訪問權限按鈕後,將在Steam庫中可確認「SUPERPEOPLECBT」遊戲4)在「SUPERPEOPLECBT」中點選安裝按鈕並下

華碩發表 BIOS 更新,提升英特爾第 13/14 代處理器遊戲穩定性 華碩發表 BIOS 更新,提升英特爾第 13/14 代處理器遊戲穩定性 Apr 20, 2024 pm 05:01 PM

本站4月20日消息,華碩公司近日發布了BIOS更新,改善了英特爾第13/14代處理器運行遊戲時崩潰等不穩定情況。本站先前報導,玩家回饋的問題包括運行萬代南夢宮格鬥遊戲《鐵拳8》PC演示版時,即便電腦擁有充足的記憶體和顯存,也會出現系統崩潰並提示記憶體不足的錯誤訊息。類似的崩潰問題也出現在《戰地風雲2042》、《遺跡2》、《要塞英雄》、《墮落之主》、《霍格華茲之遺》以及《TheFinals》等多款遊戲中。 RAD公司今年2月發布長文,解釋遊戲崩潰問題是BIOS設定、英特爾處理器的高時脈頻率和高功耗共同

小黑盒買的遊戲怎麼入庫steam 小黑盒買的遊戲怎麼入庫steam Feb 23, 2024 pm 05:30 PM

小黑盒中可以購買各種遊戲,那麼買的遊戲怎麼入庫steam呢?用戶需要在steam裡的在Steam上激活產品,然後複製小黑盒裡的激活碼來激活,這篇買的遊戲入庫steam方法介紹就能夠告訴大家具體的方法,下面就是詳細的介紹,趕緊來看看吧!小黑盒買的遊戲怎麼入庫steam答:在steam裡的在Steam上啟動產品來入庫具體方法:1、先點選steam上面的遊戲按鍵。 2.點選裡面的在Steam上啟動產品。 3、之後點選出現視窗的下一步。 4.在產品啟動裡貼上小黑盒購買的代碼。 5.之後點選下一步,就能夠添

Win11玩遊戲怎麼停用輸入法 Win11玩遊戲怎麼停用輸入法 Mar 15, 2024 pm 02:40 PM

最近有一些小夥伴反映自己在打遊戲的過程中,常常會把輸入法按出來,非常的影響遊戲體驗,這裡小編就給大家詳細介紹一下Win11玩遊戲禁用輸入法的方法,有需要的小夥伴可以來看看。停用方法:1、右鍵右下角工作列中的輸入法圖標,選擇清單中的"語言首選項"。 2、進入到新的介面後,點擊其中的"新增首選的語言"選項。 3.在彈出的視窗中,選擇"英文(美國)"。 4、再點擊"下一步"。 5、隨後根據需求選擇是否安裝一些可選項。 6、然後點選"安裝",等待安裝完成。 7.然後點選右下角的輸入法狀態欄,選擇剛安裝的"英文(

See all articles