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