仓酷云

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

[学习教程] PHP网页编程之PHP 使用技能七则

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

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

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

x
一下弹出N多页面!很明显,你的留言本并没有做好安全防范,被人用JS代码小小的耍了一下,我很同情你这个时候的感受,但是没有别的办法了,继续努力吧!技能   PHP (Hypertext Preprocessor)是一种 HTML 内嵌式的言语,也是今朝对照盛行的网页编程言语。它撑持的后端数据库品种凡多,几近含盖了以后的一切数据库体系。同时它包括了普通言语有的数学运算、工夫处置、文件体系、字符串处置、行程处置等功效,再加上它是收费的体系,使得本钱与效益比,几近等于无穷大。

上面是我在用PHP做网站时,总结出一些小技能,拿出来飨以人人。

1、判别某个函数是不是被撑持

因为在PHP中咱们可以天真的利用增添或削减php撑持的模块,所以有的时分咱们在利用PHP之前,老是会起首肯定某个模块是不是被加载,好比,看看GD图形模块是不是被撑持,可以用上面的这段代码:

if(!function_exists('imagecreate')) {
die('这个主机今朝不撑持GD图形模块');
}
?>


一样的事理,咱们可以使用相似的代码,测试 MSSQL,OCI等模块是不是被撑持。

2、在字符串中把网址改成超等链接

在网页中提交表单时,常常在提交的申明文本中呈现一些网址,好比团体主页等信息,假如在显示时主动将其转为超等链接,那将是一件很舒服的事,就像用WORD编纂文档时主动呈现超等链接一样。上面这段代码就很好的完成了其功效。

$string = "毗连赛迪网http://www.ccidnet.com 站点";
//注重:毗连后需求有个空格或回车。
$string = eregi_replace("http://([^ ,rn]*)","<a href={CONTENT} tarrget=_blank>{CONTENT}</a>",$string);
$string = eregi_replace("ftp://([^ ,rn]*)","<a href={CONTENT} target=_blank>{CONTENT}</a>",$string);
print $string;
?>

3、用PHP处置多个同名复选框

假如一个表单中有多个同名复选框,在提交到php时却只要一个值,而其实不像asp那样是一串用逗号朋分的值。处理的办法是使用数组。将复选框的name前面加上[],例如: 改成:。如许php将失掉一个叫pp的阵列。在提交的表单中先用Count(pp)来判别数组的个数即选中的个数,然后对数组停止分离处置就好了。

一样的事理也顺应于处置下拉框的多选成绩。

4、使用static完成表格的色彩隔行显示

咱们用PHP从数据库查询数据,并将了局输入到阅读器上,假如了局有良多行,表格的bgcolor(后台色)假如满是单色的,阅读者会感到不太恬逸。那末如何做使表格各行的色彩分歧呢?请看上面代码:

function getcolor()
{
static $colorvalue;//界说一个静态变量
if($colorvalue=="#eeeeee")
$colorvalue="#F5F5F5";
else $colorvalue="#eeeeee";
return($colorvalue);
}
print("<table border=1>n");//上面输入10行
for($i=0;$i<10;$i++)
{
$bcolor=getcolor();//换后台色彩
print("<tr bgcolor=$bcolor>n");
print("<td>$i</td>n");
print("</tr>");
}
print("</table>n");
?>

申明:

此法式中界说了一个静态变量static $colorvalue意思是在函数挪用停止后,此变量$colorvalue还保存值,没有消逝。当再次挪用getcolor()函数时,变量$colorvalue的值是前次函数挪用停止时$colorvalue的值。

5、在php中防止反复援用的举措

人人晓得,在C言语中,咱们可以用#define来界说一个MACRO名字,经由过程反省是不是该MACRO名字界说过去决意该头文件是不是被援用。在PHP中也有一样的成绩,好比:A援用B,C, B援用C,假如不接纳办法,C将被援用2次。如许能够会招致一些奇异的成绩。处理举措:界说一个全局变量,而且经由过程反省该变量是不是界说过去处理这个成绩.举措很复杂,相似C。 只是这个全局变量我建议都用['user_packages'] ['headfilename']的定名划定规矩。

if (!empty($GLOBALS['FOODTAILS']['GLOBALDEFINE'])) return;
$GLOBALS['FOODTAILS']['GLOBALDEFINE'] = true;
class FOODTAILS {...
};
?>

别的,在主法式中尽可能采取require_once "headfiles.php"; 以免反复援用。

6、若何防止表单的反复提交

咱们在做网站时,经常为一些灌水文章而懊恼。有时,因为收集情况等缘由用户不晓得提交是不是胜利,也会再次提交统一份表单,这就形成了表单的反复提交不起。有一个复杂的办法可以免统一表单的反复提交。 起首,先界说一个session变量用来保留一个表单的提交序列号。这里我界说为“$userLastAction”。然后在表单里到场一个hidden变量,把值设为$userLastAction+1:> 最初,在处置提交之前判别表单是不是已被提交过。

if($lastAction>$userLastAction){
$userLastAction++; // 序列号加1
// 处置表双数据
}
?>

这个技能的次要道理是不答应用户回退后再次提交,也就是说回退后修正再提交也是不答应的,然而仍是不克不及防止Ctrl-C/Ctrl-V的灌水举措。

7、下载文件的下载次数回填

咱们鄙人载软件时,常常会看到此软件的下载统计次数,而这些统计数给网站办理员剖析软件的受接待水平带来了便利。其完成道理是:在后端数据库中寄存软件的独一标识和下载数,在用户下载软件时,起首更新对应软件的下载次数即下载次数加1,然后再到下载文件上正式入手下手下载。请看上面的完成代码:

a、先建一数据表download (后端用MySql)

download表中含有以下两个字段:

id    下载的文件的独一标识

downnum 下载次数,默许值为0



b、完成

假定已从数据库掏出:描写文件名 五笔字型 ;下载文件名:wbzx.zip ;标识号id值为2

处置后生成的超等链接代码为:

五笔字型

上面的代码download.php处置下载次数累计及依据传递的文件名定位下载文件。

//毗连Mysql数据库代码略
$res=mysql_query("update download set downnum=(downnum+1) where id='$id'" ,$db);
header("location:$filename");
?>  在一个团队之中或者说是在一个公司的工作岗位上,需要注重团队之间的交流合作;在学习或工作上都要端正自己的态度,要以认真的态度来对每件事,这样才能让自己更快的投入、更快的学习,而不至于浪费自己的时间。
第二个灵魂 该用户已被删除
沙发
发表于 2015-2-4 12:02:06 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-2-9 22:31:24 | 只看该作者
做为1门年轻的语言,php一直很努力。
兰色精灵 该用户已被删除
地板
发表于 2015-2-28 02:28:08 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
小妖女 该用户已被删除
5#
发表于 2015-3-9 18:36:25 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
再现理想 该用户已被删除
6#
发表于 2015-3-17 00:10:21 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
透明 该用户已被删除
7#
发表于 2015-3-17 21:53:55 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
活着的死人 该用户已被删除
8#
发表于 2015-3-19 02:23:27 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
蒙在股里 该用户已被删除
9#
发表于 2015-3-20 10:34:09 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
10#
发表于 2015-3-20 16:44:14 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
小女巫 该用户已被删除
11#
发表于 2015-4-3 12:08:44 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
深爱那片海 该用户已被删除
12#
发表于 2015-4-4 00:34:44 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
不帅 该用户已被删除
13#
发表于 2015-4-12 15:47:35 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
变相怪杰 该用户已被删除
14#
发表于 2015-4-14 14:43:36 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
若相依 该用户已被删除
15#
发表于 2015-4-15 04:12:08 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
老尸 该用户已被删除
16#
发表于 2015-4-17 12:13:38 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
简单生活 该用户已被删除
17#
发表于 2015-4-23 07:23:21 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
只想知道 该用户已被删除
18#
发表于 2015-4-28 13:20:25 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
乐观 该用户已被删除
19#
发表于 2015-5-1 00:09:15 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
再见西城 该用户已被删除
20#
发表于 2015-7-10 19:16:07 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-22 20:46

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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