首页 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脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

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

NAT Boost与游戏的Qos;哪个更好? NAT Boost与游戏的Qos;哪个更好? Feb 19, 2024 pm 07:00 PM

在当下几乎所有游戏都在线的情况下,忽视家庭网络的优化是不可取的。几乎所有路由器都配备了NATBoost和QoS功能,旨在提升用户的游戏体验。本文将探讨NATBoost和QoS的定义、优势和劣势。NATBoost与游戏的Qos;哪个更好?NATBoost,又称网络地址转换Boost,是一种内置于路由器的功能,可提升其性能。对于游戏而言尤为重要,因为它有助于减少网络延迟,即游戏设备和服务器之间数据传输的时间。通过优化路由器内的数据处理方式,NATBoost实现了更快的数据处理速度和更低的延迟,从而改

英伟达上线 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

超级人类(superpeople)游戏下载安装方法介绍 超级人类(superpeople)游戏下载安装方法介绍 Mar 30, 2024 pm 04:01 PM

超级人类(superpeople)游戏可以通过steam客户端下载游戏,这款游戏的大小在28G左右,下载到安装通常需要一个半小时,下面为大家带来具体的下载安装教程!新的申请全球封闭测试方法1)在Steam商店(steam客户端下载)搜索“SUPERPEOPLE”2)点击“SUPERPEOPLE”商店页面下方的“请求SUPERPEOPLE封闭测试访问权限”3)点击请求访问权限按钮后,将在Steam库中可确认“SUPERPEOPLECBT”游戏4)在“SUPERPEOPLECBT”中点击安装按钮并下

win11蜘蛛纸牌在哪 win11玩蜘蛛纸牌游戏的方法 win11蜘蛛纸牌在哪 win11玩蜘蛛纸牌游戏的方法 Mar 01, 2024 am 11:37 AM

在玩够3A大作以及手游的小伙伴们,是不是想重温一下儿时的电脑游戏呀?那我们一起在windows11中寻找蜘蛛纸牌吧!点击界面上的开始菜单,点击“所有应用”按钮;点击“所有应用”。找到并选择“MicrosoftSolitaireCollection”,这是微软的纸牌系列游戏应用;纸牌系列游戏选择。加载完成后,进入选择界面,找到“蜘蛛纸牌”;选择“蜘蛛纸牌”。虽然界面有些许变化,但还是以前的

华硕发布 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、之后点击下一步,就能够添

ipad玩游戏没声音什么原因 ipad玩游戏没声音什么原因 Feb 20, 2024 am 08:24 AM

iPad玩游戏没声音,可能存在的原因在使用iPad进行游戏娱乐时,突然发现没有声音是非常令人沮丧的。无声的游戏体验无疑会大大降低乐趣,让人感到困惑和不满。那么,当我们在iPad上玩游戏时遇到没有声音的问题,可能存在哪些原因呢?本文将为大家分析和解决此类问题的可能原因。音量设置不正确首先,我们需要检查iPad的音量设置。在iPad的侧边或顶部中的物理按键,可以

See all articles