說到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了。
下面來講一個我今天學習當中遇到的疑惑。先看下代碼:
<?phpinclude("conn.php");if($_POST['submit'])//1{$sql="insert into message(id,user,title,content,lastdate)"."values('','$_POST[user]','$_POST[title]','$_POST[content]',now())";//2mysql_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語句出錯,此時需要進行斜杠轉義。