明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

PHP/MySQL3日通-第二天(二)

[摘要]四、 向服務(wù)器發(fā)送數(shù)據(jù)   現(xiàn)在我們從數(shù)據(jù)庫讀取數(shù)據(jù)已經(jīng)沒有太多困難了。但是怎么反過來向數(shù)據(jù)庫發(fā)送數(shù)據(jù)呢?其實(shí)這不是PHP的問題。   首選,我們創(chuàng)建一個(gè)帶有簡單表格的網(wǎng)頁。   同樣要注意$PATH_INFO的用法。就象我在第一課里講到的,您可以在HTML代碼中的任意位置使用PHP。您也會注意到...
四、 向服務(wù)器發(fā)送數(shù)據(jù)

  現(xiàn)在我們從數(shù)據(jù)庫讀取數(shù)據(jù)已經(jīng)沒有太多困難了。但是怎么反過來向數(shù)據(jù)庫發(fā)送數(shù)據(jù)呢?其實(shí)這不是PHP的問題。

  首選,我們創(chuàng)建一個(gè)帶有簡單表格的網(wǎng)頁。

  同樣要注意$PATH_INFO的用法。就象我在第一課里講到的,您可以在HTML代碼中的任意位置使用PHP。您也會注意到,表格中的每一個(gè)元素都對應(yīng)著數(shù)據(jù)庫中的一個(gè)字段。這種對應(yīng)關(guān)系并不是必須的,這么做只是更直觀一些,便于您以后理解這些代碼。

  還要注意的是,我在Submit按鈕中加入了name屬性。這樣我在程序中可以試探$submit變量是否存在。于是,當(dāng)網(wǎng)頁被再次調(diào)用時(shí),我就會知道調(diào)用頁面時(shí)是否已經(jīng)填寫了表格。

  我應(yīng)該指出,您不一定要把上面的網(wǎng)頁內(nèi)容寫到PHP程序中,再返過來調(diào)用程序本身。您完全可以把顯示表格的網(wǎng)頁和處理表格的程序分開放在兩個(gè)網(wǎng)頁、三個(gè)網(wǎng)頁甚至更多網(wǎng)頁中,悉聽尊便。放在一個(gè)文件中只是可以使內(nèi)容更加緊湊而已。

  那好,我們現(xiàn)在加入一些代碼,來檢查用戶在表格中輸入的內(nèi)容。我會把用$HTTP_POST_VARS把所有查詢參數(shù)變量都顯示出來,這只不過是為了證明PHP確實(shí)把所有變量都傳給了程序。這種方法是一個(gè)很有用的調(diào)試手段。如果您要想看全部的變量,可以用$GLOBALS。  

 $#@60;html$#@62;

$#@60;body$#@62;

$#@60;?php

if ($submit) {


// 處理表格輸入

while (list($name, $value) = each($HTTP_POST_VARS)) {

echo "$name = $value$#@60;br$#@62;\n";

}

} else{


// 顯示表格

?$#@62;

$#@60;form method="post" action="$#@60;?php echo $PATH_INFO?$#@62;"$#@62;

名:$#@60;input type="Text" name="first"$#@62;$#@60;br$#@62;

姓:$#@60;input type="Text" name="last"$#@62;$#@60;br$#@62;

住址:$#@60;input type="Text" name="address"$#@62;$#@60;br$#@62;

職位:$#@60;input type="Text" name="position"$#@62;$#@60;br$#@62;

$#@60;input type="Submit" name="submit" value="輸入信息"$#@62;

$#@60;/form$#@62;

$#@60;?php

} // end if,if結(jié)束

?$#@62;

$#@60;/body$#@62;

$#@60;/html$#@62;

[page_break]程序現(xiàn)在運(yùn)行正常,那我們現(xiàn)在就可以取到表格輸入的內(nèi)容,并把它們發(fā)送給數(shù)據(jù)庫。  
 $#@60;html$#@62;

$#@60;body$#@62;

$#@60;?php

if ($submit) {


// 處理表格輸入

$db = mysql_connect("localhost", "root");

mysql_select_db("mydb",$db);

$sql = "INSERT INTO employees (first,last,address,position)
VALUES ($first,$last,$address,$position)";

$result = mysql_query($sql);

echo "Thank you! Information entered.\n";

} else{


// 顯示表格內(nèi)容

?$#@62;

$#@60;form method="post" action="$#@60;?php echo $PATH_INFO?$#@62;"$#@62;

名:$#@60;input type="Text" name="first"$#@62;$#@60;br$#@62;

姓:$#@60;input type="Text" name="last"$#@62;$#@60;br$#@62;

住址:$#@60;input type="Text" name="address"$#@62;$#@60;br$#@62;

職位:$#@60;input type="Text" name="position"$#@62;$#@60;br$#@62;

$#@60;input type="Submit" name="submit" value="輸入信息"$#@62;

$#@60;/form$#@62;

$#@60;?php

} // end if,if結(jié)束


?$#@62;

$#@60;/body$#@62;

$#@60;/html$#@62;

  您現(xiàn)在已經(jīng)向數(shù)據(jù)庫中插入數(shù)據(jù)了。不過還有很多完善的工作要做。如果用戶沒有填寫某一欄怎么辦?在需要填入數(shù)字的地方填了文字怎么辦?或者填錯(cuò)了怎么辦?別擔(dān)心。我們一步一步來。