|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
php manual(PHP手册)肯定是要从网上下载一个的,它很权威,也很全面,我自己认为它是一本很好的参考书,但是不适合新手当教材使用。
市场游戏
如今你已晓得了根基的器材,再来点庞杂的吧,演示一个实际生涯中的session 使用。让咱们假定一下,你有一个金融门户,它答应它的用户选择四支股票,然后显示每支股票确当前市场价钱,而且在每页上显示用户在这个站点上的进程。
鄙人面的例子中,咱们假定用户已被验证过身份而且登录到站点下去了。咱们利用了MySQL 数据库,外面有一个名为user_info的表,用于存储用户的四支股票和独一用户名。一旦一个session被初始化了,咱们注册变量保留用户名和四支股票,然后同数据库停止毗连,取回值并显示在页面上。
代码以下:
<?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!<br>";
echo "Your selected stocks are:<br>";
echo "$stock1<br>";
echo "$stock2<br>";
echo "$stock3<br>";
echo "$stock4<br>";
// code to generate rest of page
?>
PHP4有很多与session相干的函数 -- 大局部都不需求注释,把他们列鄙人面。
session_destroy(): 释放一切的session数据(当一个用户从一个站点刊出时十分有效,你需求释放失落在他会见时代的所创立的一切变量)。
session_name():设置或读取以后session的名字。
session_id():设置或读取以后session的id值。
session_unregister(session_variable_name):从一个出格的session刊出一个变量。
session_is_registered():反省是不是一个session变量已注册了。
例如:
<?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);
}
?>
session_encode() and session_decode():将session数据编码成字符串或将字符串解码成session数据。
在这里你能够利用他们:
<?php
session_start();
session_register('someString');
$someString="I hate cats!";
//将一切的session变量编成一个字符串
$sessStr = session_encode();
//可以在这里看到
echo $sessStr;
echo "<br><br>";
//在呈现cats的中央用dogs停止交换
$sessStr = ereg_replace("cats","dogs",$sessStr);
//解码后更新了session变量
session_decode($sessStr);
//再显示一次$sessstr
echo $someString;
?>
最初,在入手下手PHPLIB之前,有一个手艺性成绩你应当晓得的 -- 下面一切的例子都利用了cookies在客户端来保留session id值。然而假如用户的阅读器被设成回绝cookies会怎样呢?
假如产生这类情形,那就需求将一个session id经由过程嵌在url中从一页传递到另外一页上去。例如: <a href="http://www.someserver.com/admin/preferences.php3?PHPSESSID=<? echo "$PHPSESSID"; ?>">Edit Your Portfolio! </a>
这个就能够包管在前面的页面中session变量是无效的。
我假设你目前已经可以完成一个静态页面了,当然,做的好看难看是另外一说,皮皮我的第一个网页也没好看到哪去,但是“孩子”再丑,咱们做“爹妈”的也不能嫌弃不是?这毕竟是咱的成果。 |
|