吳燕珍
摘要:基于PHP+Dreamweaver技術(shù)的動(dòng)態(tài)網(wǎng)站開發(fā)中出現(xiàn)的站點(diǎn)創(chuàng)建問題,亂碼問題,轉(zhuǎn)到詳細(xì)頁面問題及常見語句報(bào)錯(cuò)問題分別進(jìn)行探討其解決問題。
關(guān)鍵詞:PHP;Dreamweaver;動(dòng)態(tài)網(wǎng)頁;數(shù)據(jù)庫
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)06-0235-02
當(dāng)今IT行業(yè)技術(shù)發(fā)展日新月異,隨著Internet技術(shù)的不斷發(fā)展,創(chuàng)建網(wǎng)站所使用的技術(shù)也是要求越來越高,動(dòng)態(tài)網(wǎng)頁實(shí)現(xiàn)也成為網(wǎng)站創(chuàng)建必備的技術(shù)之一。基于動(dòng)態(tài)網(wǎng)站技術(shù)的開發(fā)語言有:PHP、ASP、JSP和ASP.NET等。
PHP是當(dāng)前動(dòng)態(tài)網(wǎng)站開發(fā)領(lǐng)域的流行技術(shù),是一種HTML內(nèi)嵌式的語言,是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風(fēng)格有類似于C語言,被廣泛地運(yùn)用。而PHP獨(dú)特的語法混合了C,Java,Perl以及PHP式的新語法。它可以比CGI或者Perl更快速地執(zhí)行動(dòng)態(tài)網(wǎng)頁。PHP的源代碼完全公開,在Open Source意識(shí)抬頭的今天,它更是這方面的中流砥柱。
使用PHP+MySQL+Dreamweaver開發(fā)動(dòng)態(tài)網(wǎng)站的最大特點(diǎn)就是:使初學(xué)者不懂PHP編碼也能利用Dreamweaver作為開發(fā)工具,在不需要或只需要少量代碼知識(shí)的情況下也能制作出PHP動(dòng)態(tài)網(wǎng)頁。筆者基于自己在中職教學(xué)動(dòng)態(tài)網(wǎng)站過程中的實(shí)踐經(jīng)驗(yàn),對所遇到的常見問題作一些探討。
1創(chuàng)建基于PHP技術(shù)動(dòng)態(tài)網(wǎng)站問題的解決
創(chuàng)建PHP動(dòng)態(tài)網(wǎng)站的步驟與創(chuàng)建基于其他技術(shù)的動(dòng)態(tài)網(wǎng)站大致相同,啟動(dòng)本地服務(wù)器后著手創(chuàng)建網(wǎng)站,首先對站點(diǎn)命名(名稱不能以中文命名),然后選擇站點(diǎn)保存的路徑(選擇服務(wù)器路徑下的htdoc文件夾),站點(diǎn)瀏覽的地址指定服務(wù)器下與站點(diǎn)名稱相同的文件夾以方便站點(diǎn)管理,出現(xiàn)以下錯(cuò)誤:
解決方法:只需要在服務(wù)器站點(diǎn)URL后加上“/”即可,如站點(diǎn)名稱為“albumtwo”,則瀏覽的URL地址為:http:∥localhost/al-bumtwo/
2成功連接數(shù)據(jù)庫后的亂碼問題的解決
創(chuàng)建好站點(diǎn),動(dòng)態(tài)網(wǎng)頁要使用數(shù)據(jù)庫的內(nèi)容,必須連接數(shù)據(jù)庫才可以顯示或使用數(shù)據(jù)庫中數(shù)據(jù),而成功連接數(shù)據(jù)庫后,使用PHP技術(shù)顯示數(shù)據(jù)庫數(shù)據(jù)時(shí)經(jīng)常會(huì)出現(xiàn)亂碼,解決方法是打開連接文件夾“Connections”,打開連接文件,出現(xiàn)以下代碼:
經(jīng)過分析,很明顯是代碼重復(fù)引起的錯(cuò)誤問題。
解決方法:把上圖選中的部分刪除,保存文件重新瀏覽網(wǎng)頁文件就不會(huì)出現(xiàn)該問題了。
4表單中動(dòng)作為“無”的按鈕,瀏覽時(shí)單擊按鈕無響應(yīng)的問題
在表單應(yīng)用中,經(jīng)常會(huì)設(shè)置動(dòng)作為“無”的按鈕,當(dāng)單擊其時(shí)轉(zhuǎn)向另一網(wǎng)頁。當(dāng)使用某個(gè)瀏覽器會(huì)出現(xiàn)按鈕無響應(yīng)問題。
解決方法:有些瀏覽器因?yàn)榘姹締栴}無法支持該技術(shù),可以使用另一種瀏覽器單擊該按鈕即可響應(yīng)。
5在嵌入模板的文件單擊按鈕打開頁面時(shí),在小窗口顯示父窗口的問題
模板的使用在編寫網(wǎng)頁時(shí)是非常頻繁的,要多個(gè)網(wǎng)頁中重復(fù)出現(xiàn)相同的內(nèi)容,通過創(chuàng)建模板,可以使程序員減少大量的工作,其使用也非常方便,只需要把經(jīng)常使用的部分創(chuàng)建為獨(dú)立的文件嵌入模板,新建網(wǎng)頁是套用模板即可。但是當(dāng)把這個(gè)獨(dú)立的文件嵌入模板時(shí),單擊表單中的按鈕時(shí),會(huì)出現(xiàn)在小窗口顯示父窗口的問題。
解決方法:在該按鈕的單擊事件中添加表單打開方式即可,如下所示:
6調(diào)試過程中常用語句報(bào)錯(cuò)的解決
(1)Parse error,syntax error,unexpected T_VARIABLEin*.php on line*
這條語句是PHP常見的報(bào)錯(cuò),一般是在第*行的上一行,或者是第*行,缺少分號(hào)?;蛘咴陔p引號(hào)中使用雙引號(hào),且沒有轉(zhuǎn)義等等。
解決方法:找到*.php的第*行,按照上面的分析,找到錯(cuò)誤,改正即可。
(2)Parse error,syntax error,unexpected′*′in XXX.php on line *
這條語句依然是PHP常見的報(bào)錯(cuò),報(bào)錯(cuò)原因是在*.php的第*行,出現(xiàn)了PHP無法識(shí)別的字符。常常是因?yàn)閒unction,if等需要‘{、‘}的地方?jīng)]有閉合,或者在編程的時(shí)候,不小心在‘;的后面誤打了幾個(gè)字符。解決方法:找到*.php的第*行,刪除多出的字符,添加缺少的字符即可。
(3)syntax error,unexpected$end
邏輯忘了閉合這個(gè)報(bào)錯(cuò)還有個(gè)特征,系統(tǒng)會(huì)提示最后一行代碼報(bào)錯(cuò),例如網(wǎng)頁代碼一共30行,報(bào)錯(cuò)會(huì)是on line 30,這時(shí)候別檢查第三十行,要把30行逐個(gè)行檢查一遍,看看哪個(gè)標(biāo)簽沒閉合。
如果一共3000行,會(huì)出現(xiàn)報(bào)錯(cuò)on line 3000,這時(shí)候別檢查這3000行,因?yàn)橥ㄟ^Dreamweaver編寫網(wǎng)頁文件,生成的程序排版很亂,在3000行里查找是哪個(gè)括號(hào)是個(gè)很麻煩的事。
解決方法:使用ctrl+a ctrl+d alt+f4,現(xiàn)在可以重寫代碼了
(4)Parse error:syntax error,unexpected$end in script.pbp online xx
經(jīng)過調(diào)試后,發(fā)現(xiàn)產(chǎn)生錯(cuò)誤的行是文件中間某行
∥$str.="?>\n";
PHP解釋器允許的結(jié)尾標(biāo)記那行還可以用單行注釋,即∥$str.="?>\n";被解釋成結(jié)尾標(biāo)記前有注釋,注釋的內(nèi)容是∥$str.=",而?>后面的\n";會(huì)被解釋作PHP塊外的內(nèi)容按HT-ML輸出去!結(jié)果是給$str.="?>\n";這行添加∥成注釋后,反而多了個(gè)?>的結(jié)束標(biāo)記,造成原來真正的結(jié)束標(biāo)記成了意料之外的(unexpected)了。
解決辦法:直接刪掉這一行即可。PHP開始和結(jié)束標(biāo)記所在行別寫其他代碼。
7結(jié)束語
本文基于PHP+Dreamweaver技術(shù)的動(dòng)態(tài)網(wǎng)站開發(fā)中出現(xiàn)的5個(gè)常見問題,進(jìn)行了探索與研究,并一一給出解決方案,希望給初學(xué)者一些建議,學(xué)習(xí)過程更通順無阻。