仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1198|回复: 19
打印 上一主题 下一主题

[学习教程] PHP教程之利用PHP的毛病处置

[复制链接]
萌萌妈妈 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:20:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
学习如何将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的提
交表单在失足页面中,如许用户可以反应给你一些定见。  在相册系统的开发上,因为采用的是团队分工合作方式,更让我明白了在一个团队之中,团队成员之间的交流沟通的重要性,如果没有很好的沟通交流,成员之间的任务没有分配好。
简单生活 该用户已被删除
沙发
发表于 2015-2-4 12:04:07 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
莫相离 该用户已被删除
板凳
发表于 2015-2-9 22:31:19 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
蒙在股里 该用户已被删除
地板
发表于 2015-2-28 02:21:16 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
若天明 该用户已被删除
5#
发表于 2015-3-1 04:22:59 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
乐观 该用户已被删除
6#
发表于 2015-3-7 00:17:04 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
山那边是海 该用户已被删除
7#
发表于 2015-3-8 19:40:21 | 只看该作者
实践是检验自己会不会的真理。
谁可相欹 该用户已被删除
8#
发表于 2015-3-10 00:51:19 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
若相依 该用户已被删除
9#
发表于 2015-3-15 03:57:45 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
变相怪杰 该用户已被删除
10#
发表于 2015-3-21 17:23:16 | 只看该作者
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
只想知道 该用户已被删除
11#
发表于 2015-3-27 20:09:40 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
小妖女 该用户已被删除
12#
发表于 2015-4-3 12:18:36 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
飘飘悠悠 该用户已被删除
13#
发表于 2015-4-16 14:09:32 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
爱飞 该用户已被删除
14#
发表于 2015-4-16 17:10:53 | 只看该作者
本文当是我的笔记啦,遇到的问题随时填充
精灵巫婆 该用户已被删除
15#
发表于 2015-4-17 02:25:44 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
再现理想 该用户已被删除
16#
发表于 2015-4-18 00:50:35 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
深爱那片海 该用户已被删除
17#
发表于 2015-5-6 12:11:55 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
18#
发表于 2015-6-8 23:06:30 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
不帅 该用户已被删除
19#
发表于 2015-6-28 17:14:48 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
透明 该用户已被删除
20#
发表于 2015-7-9 06:44:23 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-15 00:52

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表