PHP學習筆記——從搭建PHP開發環境開始
說到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語句出錯,此時需要進行斜槓轉義。