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

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