PHP教程之长沙发上的对话(四)
怎样学习,大家都知道编程是1门很枯燥的事业,所以大家一定要有兴趣,可能刚开始打算学的时候是因为别人说php有多好,php多么流行,但是后来伴随着学习的深入,你的这些有良多给猫换肤的举措...
固然,假如你的站点依然运转着PHP3,你就没法利用迄今为止的任何代码。然而不要懊丧 -- 有另外一种供应给PHP3用户的处理举措。它就叫做PHPLIB,它供应了一组有效的类,答应在你的PHP3中增添对session的办理。可以依照包中的唆使停止装置,你还需求修正"local.inc"设置装备摆设文件来创立你自已的类。
象在PHP4中一样,在每次你初始化一个session时,你需求事后挪用page_open()函数。PHPLIB前往一个缺省的名为Example_Session的类 -- 你可以在"local.inc"文件中修正这个值 -- 它将用鄙人面的例子中:
<?php
page_open(array("sess" => "Example_Session"));
?>
在任何发给阅读器的输入之前挪用page_open()十分主要。为了注册你的session变量,上面的语句可以完成这个任务。
<?php
//初始化一个session page_open(array("sess" => "Example_Session"));
//注册一个session变量 $sess->register('username');
?>
每个页面也必需包括响应的page_close()函数,用来确认所以的改动量被保留在数据库中。
<?php
page_close();
?>
除这些,大局部的代码都是一样的。看一下之前例子的PHPLIB版本:
<?php
//初始化一个session page_open(array("sess" => "Custom_Session"));
//注册session变量 - 注重语法
$sess->register('username');
$sess->register('stock1');
$sess->register('stock2');
$sess->register('stock3');
$sess->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>";
//生成页面其他代码
//将数据保留到数据库中
page_close();
?>
如你所见,一旦你放下PHP4版本,了解PHPLIB版其实不因难 -- 当你晓得了PHP4中的对session的外部撑持很大水平上基于PHPLIB模块你就不会感应奇异了。假如你感乐趣,PHPLIB实践上在对session的办理中,对身份认证和权限的类加倍深切,它答应你在基于数据库的认证办理上,给一个用户答应或制止处置的权利 -- 可以看一下文档中关于若何利用这些特征的例子。
PHPLIB也供应一些风趣的内建函数。
unregister(variable)
答应你从一个出格的session中刊出一个变量。注重在那种情形下,变量并没有被删除,可是它的值将会在页尾丧失,由于它不再被保留到数据库中。
<?php
page_open(array("sess" => "Example_Session"));
//注册一个变量 $sess->register('username');
//反省是不是它已被注册了
if($sess->is_registered('username'))
{
echo "Variable \"username\" is registered!<br>";
}
else
{
echo "Variable \"username\" is unregistered!<br>";
}
//刊出一个变量 $sess->unregister('username');
//反省是不是已被刊出 if($sess->is_registered('username'))
{
echo "Variable \"username\" is registered!<br>";
}
else
{
echo "Variable \"username\" is unregistered!<br>";
}
page_close();
?>
is_registered(variable) 假如在一个session已被注册了,前往true,不然前往false。
<?php
page_open(array("sess" => "Example_Session"));
if($sess->is_registered('username'))
{
echo "A session variable by the name \"username\" already
exists";
}
else
{
$sess->register('username');
}
page_close();
?>
delete() 释放以后的session。
要注重地风趣的一点是:在PHPLIB的cookie形式中,有能够在挪用过delete()以后入手下手一个新的session,在客户端设置一个新的cookie,乃至从头注册一些之前session的变量 -- 可以从基本上使改动session象飞一样。固然,你象如许干事情,你需求让你的生涯...快起来!
url($url) 充许你将用户重定向到一个新的页面。
self_url() 前往一个以后页的URL的援用,包含PHP_SELF和QUERY_STRING信息。
那末在最初,对那些不幸具有一个不供应PHP4和PHPLIB的ISP的你来讲 -- 记住,经由过程好的cookie 手艺老是能够摹拟出session来的。你所要做的只是设置一个带有信息的cookie ,用来临时保存用户对你的站点的会见进程,每次在用户会见一个新页面的时分处置这个信息。很原始 -- 然而它可以任务,并且有时你也不克不及将可以做成一件事的复杂办法打逝世!
病人分开病院
病人: 哇哦,大夫 -- 太好了!十分感激你做的一切!
心思大夫: 没成绩,维克多。我很愿意匡助你。如今感到好点吗?
病人: 噢,轻松!当我刚出去时,全部天看上去都是灰色和阴森的 -- 如今,这个雨蓬窗户里面的风光历来没有那末好过...
心思大夫: 恩...维克多...假如我是你在里面会很当心,扶手有一点坏了,在那能够不太平安。
病人: 别忧虑,大夫 -- 象如许的天,我感应神...圣...啊啊!!!!
培训的第二阶段,开始了PHP语言语法结构和应用的学习。 我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能: 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。 说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。 没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。 再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。 使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。 当然这种网站的会员费就几十块钱。 Ps:以上纯属原创,如有雷同,纯属巧合 建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。 没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。 对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。 使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的 实践是检验自己会不会的真理。 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。 刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。 Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
页:
[1]