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

用PHP制作留言板

[摘要]我們?cè)诤芏嗑W(wǎng)站上都能看到各式各樣的留言板,它是網(wǎng)站與訪客之間進(jìn)行交流的主要手段之一。一個(gè)設(shè)計(jì)合理,界面優(yōu)美的留言板程序能從側(cè)面體現(xiàn)網(wǎng)站良好的服務(wù),給來(lái)訪用戶(hù)留下美好的印象,增強(qiáng)用戶(hù)對(duì)網(wǎng)站的信心。留言板從程序角度來(lái)看其實(shí)很簡(jiǎn)單,難在樸實(shí)無(wú)華的功能中有創(chuàng)意的表現(xiàn)。下面我們僅以PHP腳本程序?yàn)槔,從程?..
我們?cè)诤芏嗑W(wǎng)站上都能看到各式各樣的留言板,它是網(wǎng)站與訪客之間進(jìn)行交流的主要手段之一。一個(gè)設(shè)計(jì)合理,界面優(yōu)美的留言板程序能從側(cè)面體現(xiàn)網(wǎng)站良好的服務(wù),給來(lái)訪用戶(hù)留下美好的印象,增強(qiáng)用戶(hù)對(duì)網(wǎng)站的信心。留言板從程序角度來(lái)看其實(shí)很簡(jiǎn)單,難在樸實(shí)無(wú)華的功能中有創(chuàng)意的表現(xiàn)。下面我們僅以PHP腳本程序?yàn)槔瑥某绦虻慕嵌戎v述怎樣制作留言板。   
   留言板實(shí)現(xiàn)的原理一般有兩種,即文件型和數(shù)據(jù)庫(kù)型。它們是以留言信息在服務(wù)器的存放方式來(lái)區(qū)分的。由于文件型留言系統(tǒng)難以勝任多用戶(hù)、大容量的信息處理和查詢(xún)事務(wù),因此具有良好延展性的數(shù)據(jù)庫(kù)驅(qū)動(dòng)方式是很多事務(wù)處理應(yīng)用的首選。下面我們以PHP、Mysql系統(tǒng)為平臺(tái)構(gòu)建一個(gè)基本的留言板。   基本的留言板由留言填寫(xiě)、保存、顯示、管理等程序組成,架構(gòu)很簡(jiǎn)單,但是涉及了PHP+Mysql結(jié)構(gòu)的大部分操作,是我們學(xué)習(xí)PHP編程的絕佳入門(mén)練習(xí)。   
   1.數(shù)據(jù)庫(kù)結(jié)構(gòu):   
   留言編號(hào) id int 自動(dòng)遞增   
   留言者姓名 name varchar 20 最多20個(gè)字符   
   留言時(shí)間 msgdate datetime 日期型   
   電子郵件 email varchar 40 最多40個(gè)字符   
   留言?xún)?nèi)容 msg text 類(lèi)型   
   這是一個(gè)簡(jiǎn)單的留言存儲(chǔ)模型庫(kù),根據(jù)設(shè)計(jì)需要還可以增加一些字段,例如記錄訪問(wèn)者的IP地址、操作系統(tǒng)類(lèi)型等特征,為進(jìn)一步分析客戶(hù)群體提供依據(jù)。   
   2.填寫(xiě)留言的HTML文件:   
   write.htm   
   該文件構(gòu)造了留言本最基本的界面,定義了一個(gè)包含姓名、電子郵件、留言?xún)?nèi)容等基本填寫(xiě)項(xiàng)目的表單,提交后將由savemsg.php程序進(jìn)行錯(cuò)誤校驗(yàn)和入庫(kù)處理。   3
   . 錯(cuò)誤校驗(yàn)和入庫(kù)處理savemsg.php   
      {   Sdb = mysql_connect(′localhost′,′username′,′password′); //連接數(shù)據(jù)庫(kù),注意將用戶(hù)名、口令替換成自己的用戶(hù)名和口令,以符合實(shí)際情況   
   mysql_select_db(′test′); //選擇guesbook表所在數(shù)據(jù)庫(kù),這里是test庫(kù)   
   Squery=″INSERT into guestbook(name, email,msgdate,msg) values(′Sname′, ′Semail′, now(),′Smsg′)″; //構(gòu)造插入數(shù)據(jù)的SQL語(yǔ)句   
   mysql_query(Squery, Sdb); //執(zhí)行插入數(shù)據(jù)操作   }   ?>   
   我們可能注意到:在SQL語(yǔ)句中我們使用了Mysql的NOW()函數(shù)以‘YYYY-MM-DD HH:MM:SS’的形式返回當(dāng)前的日期時(shí)間,并直接存到DATETIME字段中(事實(shí)上在定義字段時(shí)就可以將msgdate字段的默認(rèn)值設(shè)置成NOW(),這樣我們對(duì)程序就不必另行處理了),另外CURDATE()以‘YYYY-MM-DD’的格式返回今天的日期,可以直接存到DATE字段中,CURTIME()以‘HH:MM:SS’的格式返回當(dāng)前的時(shí)間,可以直接存到TIME字段中。   
   4.查看留言view.php   
     
     
      mysql_select_db(′test′); //選擇數(shù)據(jù)庫(kù)   
   Squery=″select * from guestbook″; //構(gòu)造查詢(xún)語(yǔ)句   
   Sresult=mysql_query(Squery, Sdb); //執(zhí)行查詢(xún)語(yǔ)句   
   echo ′姓名 電子郵件 留言時(shí)間 留言?xún)?nèi)容
′;   
   //構(gòu)造表格頭   
   while(Srow = mysql_fetch_array(Sresult)) { //用循環(huán)輸出表格   
   echo ′ ′.Srow[″name″].′ ′;   
   echo ′ ′.Srow[″e(cuò)mail″].′ ′;   
   echo ′ ′.Srow[″msgdate″].′ ′;   
   echo ′ ′.Srow[″msg″].′
′;   }   
   mysql_free_result(Sresult);//釋放資源   
   mysql_close(Sdb);//關(guān)閉數(shù)據(jù)庫(kù)   
   echo ′ ′;   ?>   
     
     
   5.管理留言本,該程序能列出所有留言條目概況,并為每個(gè)條目提供checkbox,以供選擇刪除。   Addmin.php   
   到這里,我們已經(jīng)構(gòu)建了一個(gè)具備填寫(xiě)、保存、瀏覽、管理(主要是刪除操作)等功能的留言本。應(yīng)該說(shuō)這個(gè)程序達(dá)到了我們預(yù)期的目的。然而,一個(gè)留言本真正投入實(shí)用,必須考慮許多特殊情況,并具有良好的人機(jī)界面,和一定容錯(cuò)、糾錯(cuò)性。對(duì)比網(wǎng)絡(luò)上成熟的留言本程序,我們還需要很多工作,這些將在下期“留言板制作高級(jí)技巧”里介紹,就到這里了,再見(jiàn)!


標(biāo)簽:用PHP制作留言板 

相關(guān)文章