PHP和MYSQL制作动态网站开发经验之谈_PHP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:常见php页面漏洞分析及相关问题解决
从现在的网络安全来看,大家最关注和接触最多的WEB页面漏洞应该是ASP了,在这方面,小竹是专家,我没发言权。然而在PHP方面来看,也同样存在很严重的安全问题,但是这方面的文章却不多。在这里

一. 10个经验

1.不要依赖register_global=ON的环境,从你刚懂得配置php运行环境甚至尚不明白register_global的ON/OFF会对自己有什么影响的那天起,就应该勇敢地把它设为OFF。

2.写程序前看看怎么用error_reporting。

3.不懂就问本身没错,但你需要在那之前查查手册。

4.当然,你需要懂得使用手册。手册上找不到答案的时候,应该考虑下网络上的搜索引擎。

5.刚学会php mysql之后,不要叫嚷着要写论坛,要写XXX。要明白,刚学会写汉字并不表示你有能力写诗。

6.在学web编程的时候,你应该先去认识html这个朋友。

7.有点能力后,试着回答新手的问题,不要看到自己懂的而别人不懂就沾沾自喜,扔下一名“简单,那是基本的东西”就走更要不得。

8.思考是一个好习惯,不动手去写就等于空想,什么也没有。

9.写好一段程序,如果觉得很满意,一周后再看一遍,也许你会认为它应该有所改变

10.有空多看看别人的程序,找出他人的不足或优点,自己掂量。

二. 各取所需

1.善于使用“引用”,它能直接影响到程序的效率。

2.善于用三元运算子,可以让程式较精简有效率。

比如:

以下为引用的内容:

if ($data[$i][’nickname’])
{
$nickname = $data[$i][’nickname’];
}
else
{
$nickname = $data[$i][’ip’];
}

可以写成:

以下为引用的内容:

$nickname = $data[$i][’nickname’] ? $data[$i][’nickname’] : $data[$i][’ip’];

3.善于组织if...else...

比如:

以下为引用的内容:

$ext_name = strtolower(str_replace(".", "", strrchr($upfilename, ".")));
if (!empty($type))
{
if (!strpos($type, $ext_name))
{
echo "Please upload the file of $type form.";
exit();
}
}

上面的代码你应该写成这样:

以下为引用的内容:

$ext_name = strtolower(str_replace(".", "", strrchr($upfilename, ".")));
if (!($type===’’) && strpos($type, $ext_name)===false)
{
echo "Please upload the file of $type form.";
exit();
}

4.尽量让你的代码清淅些

如果写成这样,是比较让人头痛的:

$foo=$_post["foo"];
$username=$_post["user"];
$group=$_POST["group"];
if ($group=="wheel"){
$username=$username."wheel";
}

同样的代码,这样就比较让人看得舒服了:

以下为引用的内容:

$foo = $_post["foo"];
$username = $_post["username"];
$group = $_POST["group"];
if ($group=="wheel")
{
$username = $username."wheel";
}

当然,有一定基础后,你应该要写成这样:

以下为引用的内容:

$foo = &$_POST[’foo’];
$username = $_POST["group"]!=’wheel’ ? $_POST["username"] : $_POST["username"].’wheel’;

5.编写规范的mysql 语句。

字段和表名用"`"引起来,避免保留字的影响。

如果看到下面这样的一个sql query,会让人比较头痛:

以下为引用的内容:

$query="select `flash_comment`.`content` , `flash_comment`.`nickname` , `flash_comment`.`date` , `flash_comment`.`ip` , `product`.`p_name` , `sgflash`.`fid` from `flash_comment` left join `product` on ( `flash_comment`.`p_no` = `product`.`p_no` ) left join `sgflash` on ( `product`.`p_name` = `sgflash`.`f_name` ) where `flash_comment`.`p_no` != ’’ order by `flash_comment`.`date`";

同样的一个query,写成这样就令人看得明白得多了:

以下为引用的内容:

$query = "SELECT `flash_comment`.`content` , `flash_comment`.`nickname` , `flash_comment`.`date` , `flash_comment`.`ip` , `product`.`p_name` , `sgflash`.`fid`
FROM `flash_comment`
LEFT JOIN `product` ON ( `flash_comment`.`p_no` = `product`.`p_no` )
LEFT JOIN `sgflash` ON ( `product`.`p_name` = `sgflash`.`f_name` )
WHERE `flash_comment`.`p_no` != ’’
ORDER BY `flash_comment`.`date`";

分享:实用:动态网页制作技术PHP的十个应用技巧
如何消灭或优化那PHP开发网站程序的代码呢? 这一点上我个人最主要的经验只有两点,一是消除错误的或低效的循环;二是优化数据库查询语句。其实还存在一些其它的优化细节,比如“str_rep

来源:模板无忧//所属分类:PHP教程/更新时间:2008-08-22
相关PHP教程