PHP教程之利用PHP的毛病处置
学习如何将PHP与HTML结合起来完成简单动态页面毛病|毛病处置 在web 上一切罕见的毛病之一就是有效的链接。一旦从其它站点上呈现了有效的链接,你会从头布置你的站点。人们会将他们喜好的站点存成书签,假如在三个月后再次会见时,仅仅发明的是'404 Not Fount '
时,将不会给他们义务匡助,告知他们若何从你的站点去查找原始的信息。让咱们处理这个成绩,或最少
给你的用户一个友爱的匡助,一旦他们碰到'a 404' 毛病时,可以失掉一些陈迹。你可以创立通俗的页面来
呈报在处置你的页面时所碰到的一切的毛病。 PHP 与Apache一同可以很自在地让你创立自已的失足页面,然而需求从头停止设置装备摆设,而且要编大批的代
码。先让咱们进修设置装备摆设局部。
Apache的ErrorDocument唆使用来指出在呈现毛病时Apache应重定向到哪个文档(或URI)。它答应你
为每个你的用户能够碰到的毛病代码指定一个资本。经由过程在你的办事器设置装备摆设中增添一个ErrorDocument 404
/error.php唆使。这个将在用户会见一个不存在的页面时,重定向到'error.php'中,上面咱们就会写出
'error.php'页面。不要忘了从头启动Apache以使修改失效。
接着,咱们写出一个复杂的error.php:
你所恳求的文件 (<?=$REDIRECT_URL?>) 在这个办事器上不存在。
请查找你想要的文件从 <A HREF="/">前页</A>。
如今试着读取一个在你办事器上不存在的页面,怎样,你可以看到error.php了,它有着一个优秀和
友爱的动静,而且还有一个到前页的链接。
让咱们把它扩大一下。正如你所见,我在error.php中利用了REDIRECT_URL变量。这个变量是Apache在
履行了一个ErrorDocument唆使时所设置的,而且给出了一种能够来找到原始的资本。在这类情形下,Apache
还设置了一些其余变量,一切的变量可以在这里找到。利用这些变量能够创立一个很好的失足页面,用于给
用户一个不错与友爱的失足页面,而取代Apache给出的缺省页面。
从PHP页面中输入毛病
从一个PHP页面输入毛病与摹拟Apache对ErrorDocument唆使所做的很象,你只需复杂地将用户重定向,
经由过程利用query-string变量,而Apache则凡是是设置在情况变量外面。如许就能够利用统一个失足页面来处
理各类毛病。上面是一个例子:
----------------------------------------------------------------------
<?php
function throw_error($message) {
$error_page = "/err/error.php";
$error_url = $error_page;
$error_url .= "?REDIRECT_ERROR_NOTES=$message";
$error_url .= "&REDIRECT_URL=" . $GLOBALS["PHP_SELF"];
$error_url .= "&REDIRECT_REQUEST_METHOD=$REQUEST_METHOD";
$error_url .= "&REDIRECT_STATUS=501";
Header("Status: 501");
Header("Location: $error_url");
exit;
}
ob_start();
// 利用输入缓冲以便在这页中的任何中央输入毛病
if(!condition) {
throw_error("the condition failed");
}
ob_end_flush();
// 页面处置终了,刷新输入缓冲
?>------------------------------------------------------------------
利用PHP4的输入缓冲特征对生成普通的失足呈报功效也会有匡助。然而在你确认全部失足页面处置终了
时,不要健忘刷新缓冲区,你可以在你的代码中的任可中央经由过程Header挪用来停止重定向。
读者可以自行设计,完成自已的失足页面来顺应他/她的站点。不要忘了,你可以包括一个带email的提
交表单在失足页面中,如许用户可以反应给你一些定见。在相册系统的开发上,因为采用的是团队分工合作方式,更让我明白了在一个团队之中,团队成员之间的交流沟通的重要性,如果没有很好的沟通交流,成员之间的任务没有分配好。 小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 写的比较杂,因为我也是个新手,不当至于大家多多指正。 实践是检验自己会不会的真理。 找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。 基础有没有对学习php没有太大区别,关键是兴趣。 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 本文当是我的笔记啦,遇到的问题随时填充 在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。 要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。 个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。 我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能: 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
页:
[1]