|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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");
?> 在一个团队之中或者说是在一个公司的工作岗位上,需要注重团队之间的交流合作;在学习或工作上都要端正自己的态度,要以认真的态度来对每件事,这样才能让自己更快的投入、更快的学习,而不至于浪费自己的时间。 |
|