PHP网页编程之长沙发上的对话(三)
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变量是无效的。
我假设你目前已经可以完成一个静态页面了,当然,做的好看难看是另外一说,皮皮我的第一个网页也没好看到哪去,但是“孩子”再丑,咱们做“爹妈”的也不能嫌弃不是?这毕竟是咱的成果。 当然这种网站的会员费就几十块钱。 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。 因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。 写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。 Ps:以上纯属原创,如有雷同,纯属巧合 学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。 首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。 因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax 写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。 在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 Ps:以上纯属原创,如有雷同,纯属巧合 再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
页:
[1]
2