PHP企業(yè)網(wǎng)站建設(shè)的功能實現(xiàn)和問題分析
日期 : 2019-01-09 17:09:53
伴隨著世界互聯(lián)網(wǎng)技術(shù)的快速發(fā)展以及電子設(shè)備的高速普及,網(wǎng)絡(luò)伴隨著電腦、手機(jī)等設(shè)備進(jìn)入到人們的生活之中。當(dāng)前我國卻在校園網(wǎng)站的建設(shè)與應(yīng)用中出現(xiàn)大量交互不方便信息可信度低技術(shù)功能不夠完善需求與技術(shù)不平等的問題。因此,我們的首要問題就是如何建立一個操作簡便且界面整潔的網(wǎng)站。
一、開發(fā)環(huán)境分析和問題
1.軟件語言的選擇和問題分析?,F(xiàn)在網(wǎng)絡(luò)開發(fā)的三種主流語言: ASP. NET、PHP、JSP,它們都存在自身的獨(dú)特性和優(yōu)缺點。JSP兼容性好、安全性最好、標(biāo)簽可以擴(kuò)充、支持跨平臺使用,但是熟練使用有一定難度,并且可移植性較差:PHP兼容性好、安全性較好、性能強(qiáng)、配合簡單、容易學(xué)習(xí),但是卻存在本身是單線程的問題; ASP. NET開發(fā)快、易被熟練掌握,但蒹容性較差,只適用 Microsoft服務(wù)器,安全性一般、漏洞過多,實現(xiàn)某些特定需求時比較麻煩。本項目使用PHP作為開發(fā)語言,PHP作為一種類C語言在使用上具有較快的上手性,且php語言支持跨平臺服務(wù)、性能優(yōu)越、語法簡單,目前的主流技術(shù)大多支持。PHP作為種開源的源代碼,使得它具有極大的通用性,有多種框架可以使用;作為一個使用較多的網(wǎng)站建設(shè)語言,安全性得到了大多數(shù)人的認(rèn)可。
2.編程軟件的選擇。目前市場上的網(wǎng)頁編程軟件
也是玲瑯滿目,如 Sublime、 Editplus、 Dreamweaver、Zend Studio等,綜合分析各方面的因素,選用了Zend Studio作為編程軟件。 Zend Studio是一款專門為PHP網(wǎng)站開發(fā)而設(shè)計的軟件,函數(shù)高亮、自動糾錯、函數(shù)提醒,最為特殊的在于它的函數(shù)尋找。函數(shù)尋找不僅局限于PHP與MSQL自身的函數(shù),還有編程人員自己創(chuàng)建的函數(shù),Crl+鼠標(biāo)左鍵單擊函數(shù)后,軟件自動跳轉(zhuǎn)到函數(shù)下,這極大地方便了編程中的各頁面跳轉(zhuǎn)和函數(shù)錯誤檢驗分析。
3.環(huán)境搭建軟件及問題分析。PHP網(wǎng)站開發(fā)最常用的軟件組合為WAMP( Windows+ Apache+ MYSQL+PHB。 Apache是一款開源的Web服務(wù)器,具有較好的應(yīng)用性和安全性。在選用集成安裝環(huán)境上,網(wǎng)絡(luò)上
提供了很多平臺( Appserv, phpstudy,wamp等,使用前參考很多網(wǎng)上評論,最后先選擇安裝了 Appserv。多次安裝發(fā)現(xiàn) Appserv在安裝8.0版本中出現(xiàn)較大問題在安裝中設(shè)置好登入數(shù)據(jù)庫的用戶名和密碼,但是完成后在訪問 localhost i網(wǎng)頁過程中出現(xiàn)登錄錯誤并出現(xiàn)錯誤字樣如下: Access denied for user root'localhost (using password:YEs。問題說的是無法訪問root用戶,且使用的密碼正確。查看 MYSQL中的用戶登錄文件,發(fā)現(xiàn)用戶和密碼字段沒有寫入到基本文件中。發(fā)現(xiàn)是基本文件錯誤后,進(jìn)行了多次重裝軟件但是都出現(xiàn)上述問題,最后設(shè)置 MYSQL不檢查用戶密碼進(jìn)行登錄。在多電腦的驗證普遍性上,MySL設(shè)置不檢查用戶密碼進(jìn)行登錄這個方法在部分電腦上出現(xiàn)只能登入一次,之后再要登入則出現(xiàn)登錄失敗、root用戶不允許的字樣。并且這種方法極大的降低了數(shù)據(jù)庫的安全性,對后續(xù)的開發(fā)可能會造成難以估量的損失,項目最后放棄使用Apsr的集成環(huán)境。在多個集成環(huán)境安裝對比后,最終我們選擇 phpstudy作為開發(fā)的環(huán)境,它安裝簡單、軟件不收費(fèi)、節(jié)約可開發(fā)成本多次安裝都是一次成功和數(shù)據(jù)庫連接正常。在不使用本地數(shù)據(jù)庫時還可以將整個集成環(huán)境關(guān)閉節(jié)約電腦本身的后臺資源。數(shù)據(jù)庫密碼和用戶名在基礎(chǔ)文件中直接被設(shè)置,雖然缺乏人性化但是這樣避免出現(xiàn)Appservi中出現(xiàn)的無法登入數(shù)據(jù)庫的問題。
二、功能模塊設(shè)計及問題分析
本網(wǎng)站最主要的功能是信息的發(fā)布和交流。所以主要實現(xiàn)的功能模塊有:登入模塊、信息發(fā)布及處理模塊、貼吧式交流模塊等。
1.在每個模塊的實現(xiàn)中盡可能的實現(xiàn)代碼的簡單化,所以我們使用到了很多函數(shù)來實現(xiàn),這樣在不同網(wǎng)頁實現(xiàn)同一功能上可以簡化代碼和后臺編譯時間。例如 addinfo被設(shè)定為添加信息的函數(shù),管理員和普通用戶都有權(quán)限進(jìn)行信息的發(fā)布,我們在 info. inc,php中寫好 adolfo的具體實現(xiàn)步驟,在具體實現(xiàn)的網(wǎng)頁中直接調(diào)用函數(shù)即可實現(xiàn)信息在數(shù)據(jù)庫的插入。
2.考慮到信息發(fā)布平臺的倍息發(fā)布涉及到很多項,其中包括圖片及文件等信息的共享,而每一個的實現(xiàn)都需要一定的時間周期,所以我們采用 Kindeditor集成環(huán)境。 Kiindeditor靈活的使用標(biāo)簽<span完成前臺數(shù)據(jù)的實現(xiàn),蒹容型較好,兼容E、 Firefox、 Chrome Satan、 Operas等主流瀏覽器,作為一款開源的HIML可視化編輯器為編程人員帶來了極大的便利。該集成模塊可直接在代碼中進(jìn)行調(diào)用,所實現(xiàn)的功能包括單張圖片上傳、多張圖片上傳、一般word文檔上傳、表情包以及對文字格式的相關(guān)處理,這樣的直接調(diào)用既減少了項目的實現(xiàn)周期又同時保證了用戶的功能實現(xiàn)3.在登入模塊中網(wǎng)頁設(shè)置了驗證碼,以防止用戶利用機(jī)器人自動注冊、登錄等惡意行為。登錄過程中考慮到用戶體驗時對一些較為相似的字符難以區(qū)分,所以在選取字符時人工將數(shù)字01、2字母o1、qO、Z刪除以防止在驗證過程中出現(xiàn)這些較難區(qū)別的字符我們采用先創(chuàng)建指定大小的畫布,再利用字符產(chǎn)生函數(shù)隨機(jī)產(chǎn)生四位數(shù)字和字母組合的字符,然后將整體傳遞到前端的顯示網(wǎng)頁上,實現(xiàn)驗證碼的顯示。
4.貼吧式交流模塊也是網(wǎng)站一個較為新穎的地方。這一個模塊我們首先結(jié)合了信息發(fā)布模塊的功能,用戶在查看主題帖的同時可以寫上自己的相關(guān)認(rèn)識。我們在數(shù)據(jù)庫中創(chuàng)建了一張表( tb note用來收入這些回復(fù)貼的內(nèi)容。 content]記錄回復(fù)信息的具體內(nèi)容,name記錄回復(fù)信息的用戶名稱,scnd記錄回復(fù)消
息的時間,pidi記錄回復(fù)貼屬于哪個主貼的內(nèi)容。pid的使用使所有關(guān)于這條主貼信息的回復(fù)全部被取出。
三、信息同步及問題分析
PHP在前端網(wǎng)頁大多是使用form標(biāo)簽進(jìn)行數(shù)據(jù)提交,調(diào)用 insert函數(shù)完成數(shù)據(jù)的寫入。在前端提交的信息一般都是一個數(shù)組以post的形式進(jìn)行傳值。以注冊用戶為例,沒有賬戶的用戶可以通過注冊用戶來實現(xiàn)網(wǎng)站提供的更多功能。注冊中需要提交的信息有用戶名、密碼、專業(yè)、班級等信息。我們將提交的信息以個數(shù)組的形式傳入數(shù)據(jù)庫。這其中極易出現(xiàn)一些問題。
1.數(shù)組中各個數(shù)據(jù)名不對應(yīng)。在前端的網(wǎng)頁我們需要給每一個傳入的數(shù)據(jù)有一個相應(yīng)的name,必須嚴(yán)格和數(shù)據(jù)庫中的字段完全一致。其中一個數(shù)據(jù)的name對應(yīng)不上整個數(shù)組就無法完成寫入。出現(xiàn)問題要多進(jìn)行調(diào)試工作,一步一步驗證是在哪里出的錯誤。例如,使用 print r進(jìn)行數(shù)組的打印顯示傳入數(shù)組的名字即對應(yīng)的數(shù)值,使用f函數(shù)判斷函數(shù)在執(zhí)行過程中哪一步出現(xiàn)了空值。
2.數(shù)組無法一一對應(yīng)。在傳輸數(shù)組中要求前端傳輸數(shù)組的各字段與數(shù)據(jù)庫表的字段完全對應(yīng),在注冊網(wǎng)頁中需要兩次重復(fù)輸入密碼,傳輸?shù)臄?shù)組多了一個驗證的密碼的值,沒有清理數(shù)組的數(shù)組密碼驗證值,數(shù)據(jù)無法插入到表中。在reg注冊函數(shù)中設(shè)置調(diào)試點進(jìn)行調(diào)試。調(diào)試過程發(fā)現(xiàn),將密碼驗證值設(shè)為空值和0都無法提交信息,最后借用PHP中的 unseti函數(shù)進(jìn)行數(shù)據(jù)的清除。
使用PHP網(wǎng)站建設(shè)一個信息發(fā)布平臺所遇到的問題和功能分析,主要涉及到編程語言的選用、環(huán)境搭建和功能實現(xiàn)的問題解決。網(wǎng)絡(luò)平臺為在校學(xué)生提供了較好的平臺,利于大家對信息的綜合和處理。
一、開發(fā)環(huán)境分析和問題
1.軟件語言的選擇和問題分析?,F(xiàn)在網(wǎng)絡(luò)開發(fā)的三種主流語言: ASP. NET、PHP、JSP,它們都存在自身的獨(dú)特性和優(yōu)缺點。JSP兼容性好、安全性最好、標(biāo)簽可以擴(kuò)充、支持跨平臺使用,但是熟練使用有一定難度,并且可移植性較差:PHP兼容性好、安全性較好、性能強(qiáng)、配合簡單、容易學(xué)習(xí),但是卻存在本身是單線程的問題; ASP. NET開發(fā)快、易被熟練掌握,但蒹容性較差,只適用 Microsoft服務(wù)器,安全性一般、漏洞過多,實現(xiàn)某些特定需求時比較麻煩。本項目使用PHP作為開發(fā)語言,PHP作為一種類C語言在使用上具有較快的上手性,且php語言支持跨平臺服務(wù)、性能優(yōu)越、語法簡單,目前的主流技術(shù)大多支持。PHP作為種開源的源代碼,使得它具有極大的通用性,有多種框架可以使用;作為一個使用較多的網(wǎng)站建設(shè)語言,安全性得到了大多數(shù)人的認(rèn)可。
2.編程軟件的選擇。目前市場上的網(wǎng)頁編程軟件
也是玲瑯滿目,如 Sublime、 Editplus、 Dreamweaver、Zend Studio等,綜合分析各方面的因素,選用了Zend Studio作為編程軟件。 Zend Studio是一款專門為PHP網(wǎng)站開發(fā)而設(shè)計的軟件,函數(shù)高亮、自動糾錯、函數(shù)提醒,最為特殊的在于它的函數(shù)尋找。函數(shù)尋找不僅局限于PHP與MSQL自身的函數(shù),還有編程人員自己創(chuàng)建的函數(shù),Crl+鼠標(biāo)左鍵單擊函數(shù)后,軟件自動跳轉(zhuǎn)到函數(shù)下,這極大地方便了編程中的各頁面跳轉(zhuǎn)和函數(shù)錯誤檢驗分析。
3.環(huán)境搭建軟件及問題分析。PHP網(wǎng)站開發(fā)最常用的軟件組合為WAMP( Windows+ Apache+ MYSQL+PHB。 Apache是一款開源的Web服務(wù)器,具有較好的應(yīng)用性和安全性。在選用集成安裝環(huán)境上,網(wǎng)絡(luò)上
提供了很多平臺( Appserv, phpstudy,wamp等,使用前參考很多網(wǎng)上評論,最后先選擇安裝了 Appserv。多次安裝發(fā)現(xiàn) Appserv在安裝8.0版本中出現(xiàn)較大問題在安裝中設(shè)置好登入數(shù)據(jù)庫的用戶名和密碼,但是完成后在訪問 localhost i網(wǎng)頁過程中出現(xiàn)登錄錯誤并出現(xiàn)錯誤字樣如下: Access denied for user root'localhost (using password:YEs。問題說的是無法訪問root用戶,且使用的密碼正確。查看 MYSQL中的用戶登錄文件,發(fā)現(xiàn)用戶和密碼字段沒有寫入到基本文件中。發(fā)現(xiàn)是基本文件錯誤后,進(jìn)行了多次重裝軟件但是都出現(xiàn)上述問題,最后設(shè)置 MYSQL不檢查用戶密碼進(jìn)行登錄。在多電腦的驗證普遍性上,MySL設(shè)置不檢查用戶密碼進(jìn)行登錄這個方法在部分電腦上出現(xiàn)只能登入一次,之后再要登入則出現(xiàn)登錄失敗、root用戶不允許的字樣。并且這種方法極大的降低了數(shù)據(jù)庫的安全性,對后續(xù)的開發(fā)可能會造成難以估量的損失,項目最后放棄使用Apsr的集成環(huán)境。在多個集成環(huán)境安裝對比后,最終我們選擇 phpstudy作為開發(fā)的環(huán)境,它安裝簡單、軟件不收費(fèi)、節(jié)約可開發(fā)成本多次安裝都是一次成功和數(shù)據(jù)庫連接正常。在不使用本地數(shù)據(jù)庫時還可以將整個集成環(huán)境關(guān)閉節(jié)約電腦本身的后臺資源。數(shù)據(jù)庫密碼和用戶名在基礎(chǔ)文件中直接被設(shè)置,雖然缺乏人性化但是這樣避免出現(xiàn)Appservi中出現(xiàn)的無法登入數(shù)據(jù)庫的問題。
二、功能模塊設(shè)計及問題分析
本網(wǎng)站最主要的功能是信息的發(fā)布和交流。所以主要實現(xiàn)的功能模塊有:登入模塊、信息發(fā)布及處理模塊、貼吧式交流模塊等。
1.在每個模塊的實現(xiàn)中盡可能的實現(xiàn)代碼的簡單化,所以我們使用到了很多函數(shù)來實現(xiàn),這樣在不同網(wǎng)頁實現(xiàn)同一功能上可以簡化代碼和后臺編譯時間。例如 addinfo被設(shè)定為添加信息的函數(shù),管理員和普通用戶都有權(quán)限進(jìn)行信息的發(fā)布,我們在 info. inc,php中寫好 adolfo的具體實現(xiàn)步驟,在具體實現(xiàn)的網(wǎng)頁中直接調(diào)用函數(shù)即可實現(xiàn)信息在數(shù)據(jù)庫的插入。
2.考慮到信息發(fā)布平臺的倍息發(fā)布涉及到很多項,其中包括圖片及文件等信息的共享,而每一個的實現(xiàn)都需要一定的時間周期,所以我們采用 Kindeditor集成環(huán)境。 Kiindeditor靈活的使用標(biāo)簽<span完成前臺數(shù)據(jù)的實現(xiàn),蒹容型較好,兼容E、 Firefox、 Chrome Satan、 Operas等主流瀏覽器,作為一款開源的HIML可視化編輯器為編程人員帶來了極大的便利。該集成模塊可直接在代碼中進(jìn)行調(diào)用,所實現(xiàn)的功能包括單張圖片上傳、多張圖片上傳、一般word文檔上傳、表情包以及對文字格式的相關(guān)處理,這樣的直接調(diào)用既減少了項目的實現(xiàn)周期又同時保證了用戶的功能實現(xiàn)3.在登入模塊中網(wǎng)頁設(shè)置了驗證碼,以防止用戶利用機(jī)器人自動注冊、登錄等惡意行為。登錄過程中考慮到用戶體驗時對一些較為相似的字符難以區(qū)分,所以在選取字符時人工將數(shù)字01、2字母o1、qO、Z刪除以防止在驗證過程中出現(xiàn)這些較難區(qū)別的字符我們采用先創(chuàng)建指定大小的畫布,再利用字符產(chǎn)生函數(shù)隨機(jī)產(chǎn)生四位數(shù)字和字母組合的字符,然后將整體傳遞到前端的顯示網(wǎng)頁上,實現(xiàn)驗證碼的顯示。
4.貼吧式交流模塊也是網(wǎng)站一個較為新穎的地方。這一個模塊我們首先結(jié)合了信息發(fā)布模塊的功能,用戶在查看主題帖的同時可以寫上自己的相關(guān)認(rèn)識。我們在數(shù)據(jù)庫中創(chuàng)建了一張表( tb note用來收入這些回復(fù)貼的內(nèi)容。 content]記錄回復(fù)信息的具體內(nèi)容,name記錄回復(fù)信息的用戶名稱,scnd記錄回復(fù)消
息的時間,pidi記錄回復(fù)貼屬于哪個主貼的內(nèi)容。pid的使用使所有關(guān)于這條主貼信息的回復(fù)全部被取出。
三、信息同步及問題分析
PHP在前端網(wǎng)頁大多是使用form標(biāo)簽進(jìn)行數(shù)據(jù)提交,調(diào)用 insert函數(shù)完成數(shù)據(jù)的寫入。在前端提交的信息一般都是一個數(shù)組以post的形式進(jìn)行傳值。以注冊用戶為例,沒有賬戶的用戶可以通過注冊用戶來實現(xiàn)網(wǎng)站提供的更多功能。注冊中需要提交的信息有用戶名、密碼、專業(yè)、班級等信息。我們將提交的信息以個數(shù)組的形式傳入數(shù)據(jù)庫。這其中極易出現(xiàn)一些問題。
1.數(shù)組中各個數(shù)據(jù)名不對應(yīng)。在前端的網(wǎng)頁我們需要給每一個傳入的數(shù)據(jù)有一個相應(yīng)的name,必須嚴(yán)格和數(shù)據(jù)庫中的字段完全一致。其中一個數(shù)據(jù)的name對應(yīng)不上整個數(shù)組就無法完成寫入。出現(xiàn)問題要多進(jìn)行調(diào)試工作,一步一步驗證是在哪里出的錯誤。例如,使用 print r進(jìn)行數(shù)組的打印顯示傳入數(shù)組的名字即對應(yīng)的數(shù)值,使用f函數(shù)判斷函數(shù)在執(zhí)行過程中哪一步出現(xiàn)了空值。
2.數(shù)組無法一一對應(yīng)。在傳輸數(shù)組中要求前端傳輸數(shù)組的各字段與數(shù)據(jù)庫表的字段完全對應(yīng),在注冊網(wǎng)頁中需要兩次重復(fù)輸入密碼,傳輸?shù)臄?shù)組多了一個驗證的密碼的值,沒有清理數(shù)組的數(shù)組密碼驗證值,數(shù)據(jù)無法插入到表中。在reg注冊函數(shù)中設(shè)置調(diào)試點進(jìn)行調(diào)試。調(diào)試過程發(fā)現(xiàn),將密碼驗證值設(shè)為空值和0都無法提交信息,最后借用PHP中的 unseti函數(shù)進(jìn)行數(shù)據(jù)的清除。
使用PHP網(wǎng)站建設(shè)一個信息發(fā)布平臺所遇到的問題和功能分析,主要涉及到編程語言的選用、環(huán)境搭建和功能實現(xiàn)的問題解決。網(wǎng)絡(luò)平臺為在校學(xué)生提供了較好的平臺,利于大家對信息的綜合和處理。