本文介紹一種通過讀取文本文件的方法實現留言本基本功能,在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</a>:( t)<br>
留言內容: <a href=/"text.txt/"> note</a> <br><hr>";
write=fwrite( fp, main); //寫入文件;
fclose( fp);
echo "謝謝你的留言=>";
echo "<a href=/"body.php/">查看留言<a>|<a href=/"index.htm/">返回首頁<a>";
}
}
?>
<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/">返回留言本|</a>";
echo "<a href=/"index.htm/">返回首頁</a>";
?>
相信大家能很容易地讀懂這段代碼。在上面的兩段程序中,我們省略了html的其他標簽,其實,大家可以將以上兩段代碼放在標簽域中,對頁面進行裝飾,php界定符間的代碼還可以放在<html> … <html>區域之外。可見,php同html的交互嵌入是相當靈活的,請注意在php中嵌入html語句的格式。
本例中,文件default.php、body.php和存放留言的text.txt(見于body.php中)放在服務器同一目錄下,讀者可根據需要進行調整。有興趣的話,在此例的基礎上還可以添加其它功能,如對留言者輸入的信息內容或格式進行審查(用正則表達式)和留言本的管理、留言者的信息獲取等。
窗體底端
新聞熱點
疑難解答