长沙发上的对话(三)

市场游戏

  现在你已经知道了基本的东西,再来点复杂的吧,演示一个现实生活中的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值。

Posted in 未分类