神马 - 云代码空间
—— 任何傻瓜都能写出计算机可以理解的代码,好的程序员能写出人能读懂的代码。
说到PHP,我脑海中最先浮现的就是《社交网络》中Mark在寝室中用PHP编写Facemash的画面。这也是我学习PHP的原因之一。PHP的优点我就不罗嗦了,看看那些使用PHP+MySQL技术的国内外著名网站就知道了。学习一门语言,就得从搭建开发环境开始。
我使用的是Windows7操作系统,在Windows平台上搭建PHP的开发环境可以下载WAMP(Windows、Apache、MySQL、PHP的首字母缩写)集成化安装包。这样就不需要单独安装Apache、MySQL和PHP了。由于有些人的电脑已经安装了IIS,IIS的默认端口是80端口而Apache也使用的是80端口,解决冲突的办法不止一种,可以修改Apache安装目录下httpd.conf文件,停用IIS等。我个人采用的方法是将IIS的默认端口修改为81端口。方法如下,打开IIS管理器,选择“Default Web Site”,点击右侧的“绑定”,即可修改端口了。
运行wampServer,点击Apache,在Service目录下有个测试80端口。除了IIS之外,有许多软件也会占用80端口,如迅雷、酷狗。
解决了端口冲突问题之后,需要对PHP进行相关设置。在“short open tag”这儿打钩并去掉“display errors”前面的钩。这样就能支持<??>这种标签了。
至于IDE,个人目前使用的是eclipse,口碑较好的还有zend studio等等。这里就介绍如何使eclipse支持PHP。首先,得先下载一个eclipse。安装完成后,运行eclipse,在主界面里找到Help下的“Instal New Software”。
然后在Work with中选择“All Available Sites”。
稍等片刻之后,在“programming language”中找到PDT,一路NEXT下去就OK了。
安装PDT之后,就可以使用eclipse编写PHP了。
下面来讲一个我今天学习当中遇到的疑惑。先看下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?php
include("conn.php");
if($_POST['submit'])//1
{
$sql="insert into message(id,user,title,content,lastdate)".
"values('','$_POST[user]','$_POST[title]','$_POST[content]',now())";//2
mysql_query($sql);
echo "提交成功!";
}
?>
<form action="add.php" method="post">
用户:<input type="text" name="user"><br>
标题:<input type="text" name="title"><br>
内容:<textarea name="content"></textarea><br>
<input type="submit" name="submit" value="提交"><br>
</form>
|
仔细看1处和2处的代码,可以发现1处的submit前后各有一个单引号,而在2处user等都未加单引号。如果去掉1处的单引号,程序会弹警告,而给2处的添加单引号则会报错。这是为什么呢?
其实呢,加不加单引号并没有太大区别。唯一的区别就是加单引号的效率比不加引号效率高,原因在于,不加单引号的$_POST[submit],php会先去检查php全文中是否有定义submit这个常量,如果找不到,才会把submit当着字符串,然后去找$_POST['submit']的值;而如果加了引号,就不会有去判断submit是否为常量这一步,而是直接找$_POST['submit']的值;所以,最好是每个地方都应该加上引号,至于sql语句里面加单引号出错,那是在sql语句中,外面已经用了单引号,里面还用单引号,自然会造成sql语句出错,此时需要进行斜杠转义。