本文介紹一種通過讀取文本文件的方法實現留言本基本功能,在PHP4+Apache For Win98 下調試通過。從這個程序中我們可以體會到PHP與HTML語言交互嵌入的靈活編程風格。
首先,進入留言本頁面,我們需要用 表單提交留言者的信息,并用PHP處理信息,可以在default.php中實現這兩項功能,具有詳細注釋的源代碼如下:
# default.php# <?php //條件語句用來判斷表單是否提交,內容是否填寫完整; if ( sent=="sent"){ if ( name=="") {echo "請輸入用戶名";} else if ( email=="") {echo "請輸入email";} else if ( note=="") {echo "請輸入留言";} else { fp=fopen("text.txt","a+"); //可讀寫方式打開text.txt文件用于存儲留言,若不存在則新建一個; t = date(Y年m月d日h時m分s秒);//得到當前時間; main = "網上大名:<a href=\"mailto:$email\"> name:( t)<br> 留言內容: <a href=\"text.txt\"> note <br><hr>"; write=fwrite( fp, main); //寫入文件; fclose( fp); echo "謝謝你的留言=>"; echo "<a href=\"body.php\">查看留言|<a href=\"index.htm\">返回首頁"; } } ?> <center> <h2>我的留言板</h2> <form method="post" action="default.php?sent"> 請輸入你的姓名:<br> <input type="text" name="name"><br> 請輸入你的Email:<br> <input type="text" name="email"><br> 請輸入你的留言:<br> <textarea name="note" cols="30" rows="5"></textarea> <input type="hidden" name="sent" value="sent"> <input type="submit" name="Submit" value="確定"> <input type="reset" name="Submit2" value="重設"> </form> </center>
其中,<form> 標簽域中的代碼是標準的HTML語言,用于輸入訪問者的信息,提交后的信息送到當前頁面(default.php),注意在<form>中有一行:
<input type="hidden" name="sent" value="sent">
該行內容并不顯示出來,只是完成給變量 sent賦一個值“sent”,表單未提交時,變量 sent值為空,<?php … ?>中條件判斷 sent=="sent"不成立,PHP程序不進行任何操作,只有提交后才執行下面的PHP程序。完成后,可以通過“查看留言”鏈接查看留言,這就是我們下面給出的body.php程式:
# body.php# <h3><center>朋友的留言:<center></h3> <?php f = fopen("text.txt","a+"); //讀寫方式打開文件,若不存在則新建 msg = fread( f,filesize("text.txt")); //讀取文件 fclose( f); //關閉文件 print "<center> msg</center>"; //輸出留言 echo "<a href=\"default.php\">返回留言本|"; echo "<a href=\"index.htm\">返回首頁"; ?>
相信大家能很容易地讀懂這段代碼。在上面的兩段程序中,我們省略了HTML的其他標簽,其實,大家可以將以上兩段代碼放在標簽域中,對頁面進行裝飾,PHP界定符間的代碼還可以放在<html> … <html>區域之外。可見,PHP同HTML的交互嵌入是相當靈活的,請注意在PHP中嵌入HTML語句的格式。
本例中,文件default.php、body.php和存放留言的text.txt(見于body.php中)放在服務器同一目錄下,讀者可根據需要進行調整。有興趣的話,在此例的基礎上還可以添加其它功能,如對留言者輸入的信息內容或格式進行審查(用正則表達式)和留言本的管理、留言者的信息獲取等。
|