找回密码
 注册
【阿里云】2核2G云新老同享 99元/年,续费同价华为云精选云产品特惠做网站就用糖果主机Jtti,新加坡服务器,美国服务器,香港服务器
查看: 400|回复: 1

长沙发上的对话(三)

[复制链接]
发表于 2005 年 10 月 8 日 15:42:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
  市场游戏   现在你已经知道了基本的东西,再来点复杂的吧,演示一个现实生活中的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变量是有效的。


转自:  http://edu.chinaz.com
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
 楼主| 发表于 2005 年 10 月 8 日 15:42:01 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价

长沙发上的对话(三)

  市场游戏   现在你已经知道了基本的东西,再来点复杂的吧,演示一个现实生活中的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变量是有效的。


转自:  http://edu.chinaz.com
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2024 年 11 月 20 日 06:24 , Processed in 0.022320 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表