freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

博客網(wǎng)站系統(tǒng)設(shè)計(jì)說(shuō)明書(shū)(參考版)

2024-08-14 01:29本頁(yè)面
  

【正文】 )  一個(gè)相關(guān)的觀點(diǎn)認(rèn)為,使用動(dòng)態(tài)頁(yè)面更新使。不過(guò)開(kāi)發(fā)者已想出了種種辦法來(lái)解決這個(gè)問(wèn)題,當(dāng)中大多數(shù)都是在用戶單擊后退按鈕訪問(wèn)歷史記錄時(shí),通過(guò)建立或使用一個(gè)隱藏的IFRAME來(lái)重現(xiàn)頁(yè)面上的變更。在動(dòng)態(tài)更新頁(yè)面的情況下,用戶無(wú)法回到前一個(gè)頁(yè)面狀態(tài),這是因?yàn)闉g覽器僅能記下歷史記錄中的靜態(tài)頁(yè)面。同樣,也出現(xiàn)了另一種輔助程序設(shè)計(jì)的技術(shù),為那些不支持JavaScript的用戶提供替代功能。就像DHTML應(yīng)用程序那樣,Ajax應(yīng)用程序必須在眾多不同的瀏覽器和平臺(tái)上經(jīng)過(guò)嚴(yán)格的測(cè)試。這使得Web應(yīng)用程序更為迅捷地回應(yīng)用戶動(dòng)作,并避免了在網(wǎng)絡(luò)上發(fā)送那些沒(méi)有改變過(guò)的信息。同時(shí)很多的處理工作可以在發(fā)出請(qǐng)求的客戶端機(jī)器上完成,所以Web服務(wù)器的處理時(shí)間也減少了?! ∨c此不同,AJAX應(yīng)用可以僅向服務(wù)器發(fā)送并取回必需的數(shù)據(jù),它使用SOAP或其它一些基于XML的web service接口,并在客戶端采用JavaScript處理來(lái)自服務(wù)器的響應(yīng)。由于每次應(yīng)用的交互都需要向服務(wù)器發(fā)送請(qǐng)求,應(yīng)用的響應(yīng)時(shí)間就依賴于服務(wù)器的響應(yīng)時(shí)間。服務(wù)器接收并處理傳來(lái)的表單,然後返回一個(gè)新的網(wǎng)頁(yè)。XMLHttpRequest對(duì)象用來(lái)響應(yīng)通過(guò)HTTP傳遞的數(shù)據(jù),一旦數(shù)據(jù)返回到客戶端就可以立刻使用DOM將數(shù)據(jù)放到網(wǎng)面上。類似的,他也被認(rèn)為將應(yīng)用邏輯任意地散布在服務(wù)端和客戶端中,這使得問(wèn)題很難被發(fā)現(xiàn)而且代碼很難重用。在大部分時(shí)間,JavaScript通常被服務(wù)端開(kāi)發(fā)人員認(rèn)為是一種企業(yè)級(jí)應(yīng)用不需要使用的東西應(yīng)該盡力避免。如名字所示AJAX的概念中最重要而最被忽視的是他也是一種JavaScript編程語(yǔ)言。例如用戶通常希望每一次按鈕點(diǎn)擊會(huì)導(dǎo)致幾秒的延遲和屏幕刷新,但AJAX正在打破這種長(zhǎng)時(shí)間的狀況。因此開(kāi)發(fā)人員必須更注重用戶。AJAX的最大機(jī)遇在于用戶體驗(yàn)。在登陸時(shí)出于較好的瀏覽體驗(yàn),任何錯(cuò)誤都不會(huì)導(dǎo)致頁(yè)面刷新,這采用了ajax機(jī)制,即將待處理的數(shù)據(jù)異步(不刷新)提交給處理頁(yè)面,再將處理后的結(jié)果返回給調(diào)用頁(yè)面,調(diào)用頁(yè)面根據(jù)返回的結(jié)果處理當(dāng)前頁(yè),下面將介紹ajax和jquery框架。數(shù)據(jù)庫(kù)查詢異常39。 exit()。]=false。 if($dblinkquery($sql)) { if($dblinkaffected_rows==0) { //數(shù)據(jù)更新錯(cuò)誤 $_SESSION[39。 and user_password=39。,user_last_login_date=now() where user_name=39。 //更新數(shù)據(jù)庫(kù) $sql=update user set user_last_login_ip=39。REMOTE_ADDR39。]=true。 $_SESSION[39。 exit()。 if($query_result=$dblinkquery($sql)) { if($query_resultnum_rows==0) { //登陸失敗echo 39。$userpwd39。$username39。])。 $userpwd=md5($post[39。username39。 $post[$key]=$value。 //獲得提交數(shù)據(jù)$post=$_POST。 } //數(shù)據(jù)庫(kù)配置信息include_once 39。下面給出登陸模塊的簡(jiǎn)要代碼:?php if(empty($_POST)) { //如果提交數(shù)據(jù)為空則轉(zhuǎn)到首頁(yè)header(Location:)。session機(jī)制是一種服務(wù)器端的機(jī)制,服務(wù)器使用一種類似于散列表的結(jié)構(gòu)(也可能就是使用散列表)來(lái)保存信息。但是這里有個(gè)重要問(wèn)題,就是“安全”,為防止用戶暴力破解和sql注入,應(yīng)該對(duì)登錄次數(shù)做限制,并且應(yīng)對(duì)登陸提交信息進(jìn)行檢查,過(guò)濾非法字符串。?很多情況是要遍歷查詢結(jié)果的每一條記錄,可以這樣寫:?php while($query_row=$query_resultfetch_assoc()) { //輸出記錄中的信息 }?在本次設(shè)計(jì)中數(shù)據(jù)庫(kù)的查詢都是采用這種方法,可以將以上代碼保存為一個(gè)公用的php文件,待需要時(shí)可以隨時(shí)包含進(jìn)來(lái),不僅減少了編碼量,而且方便調(diào)用和修改,可以看出來(lái)php對(duì)mysql的查詢操作很方便。 $query_row=$query_resultfetch_assoc()。 $sql=select * from user。set names utf839。 exit()。 //建立數(shù)據(jù)庫(kù)連接對(duì)象$dblink=new mysqli(DBHOST,DBUSER,DBPWD,DBNAME)。leoblog39。DBNAME39。)。,39。 //數(shù)據(jù)庫(kù)密碼define(39。root39。DBUSER39。)。,39。下面給出mysqli查詢數(shù)據(jù)庫(kù)的代碼: ?php//數(shù)據(jù)庫(kù)服務(wù)器為本地define(39。 mysqli是php mysql庫(kù)的擴(kuò)展,mysqli不僅是面向?qū)ο蟮模襪ysql是非持繼連接函數(shù)而mysqli是永遠(yuǎn)連接函數(shù)。 數(shù)據(jù)庫(kù)查詢對(duì)于MySQL數(shù)據(jù)庫(kù)的查詢,PHP提供兩種方式,首先是面向過(guò)程的方法,其次是面向?qū)ο蟮姆椒ǎ诒敬蔚脑O(shè)計(jì)中,我一律采用面向?qū)ο蟮姆椒ǎ獙?shí)現(xiàn)PHP對(duì)MySQL數(shù)據(jù)庫(kù)面相對(duì)象的支持,“。?可以看出以上方法中最為重要的就是setVariable方法,這個(gè)方法接受兩個(gè)參數(shù),第一個(gè)參數(shù)為模板中待解析的變量名,即被包含在“{”和“}”之間的變量,第二個(gè)參數(shù)是要解析成的數(shù)據(jù)或名稱,以上為例,$query_row是數(shù)據(jù)庫(kù)查詢后的數(shù)組信息,在數(shù)據(jù)庫(kù)查詢完成后,就可以將信息依次寫入模板,一次性輸出,這樣可以避免php代碼和html代碼混雜,使邏輯更清晰,另外可以使美工和php代碼的編寫者分工協(xié)作,提高效率,目前已經(jīng)出現(xiàn)了很多流行的MVC框架,比如cakePHP、phpLIB、smarty等,對(duì)于小型的應(yīng)用,我認(rèn)為用PEAR提供的模板就很好了。])。,$query_row[39。$tplsetVariable(39。user_last_name39。user_last_name39。, true, true)。 //,并忽略無(wú)效標(biāo)記$tplloadTemplatefile(39。./templates39。HTML/Template/39。下面僅以用戶模塊為例來(lái)說(shuō)明PEAR HTML IT的用法,其他的模版調(diào)用方法相同。 模塊設(shè)計(jì)前文中已經(jīng)說(shuō)明,本博客系統(tǒng)共有八大模塊,分別是:文章顯示模塊、評(píng)論模塊、分類模塊、文章搜索模塊、頁(yè)面模塊、存檔模塊、后臺(tái)登陸模塊、 用戶模塊。而在原來(lái)的table基礎(chǔ)上進(jìn)行改版,幾乎必須改變所有的內(nèi)容注入渠道,實(shí)在是太過(guò)于麻煩.在本次博客界面設(shè)計(jì)中,由于不同瀏覽器的兼容問(wèn)題,界面的顯示效果會(huì)在不同的瀏覽器下有所差異,本次設(shè)計(jì)的測(cè)試瀏覽器是firefox和ie8,firefox作為兼容瀏覽器,很適合做開(kāi)發(fā),ie8是目前ie版本中對(duì)css支持最好的一個(gè),由于ie8對(duì)css3的標(biāo)準(zhǔn)完全不支持,而本次設(shè)計(jì)中用到了很多css3的標(biāo)準(zhǔn),所以界面的顯示效果會(huì)在這兩種主流瀏覽器中有所差異,但不大,不會(huì)影響界面的整體布局和風(fēng)格。就如現(xiàn)在我用的LBS系統(tǒng),以及流行的PJBLOG、php下面的WP、MT,都是采用div+css構(gòu)架。帶寬的稍多占用,完全顯得微不足道,更何況一個(gè)冗余的table設(shè)計(jì)架構(gòu)如果代碼寫的不好會(huì)占用更多的帶寬。而CSS+DIV構(gòu)架的頁(yè)面,雖然在客戶端看來(lái)下載一個(gè)復(fù)雜的CSS也要占用差不多的帶寬,然而搜索引擎可以很方便的繞過(guò)這個(gè)css,而直接抓去div中的內(nèi)容。它們只是默默地拿到它們需要的內(nèi)容就離開(kāi)。不過(guò)div+css的好處實(shí)在是太明顯了:搜索引擎親和力:搜索引擎不會(huì)在意一個(gè)頁(yè)面的設(shè)計(jì)或者構(gòu)成。下面是前臺(tái)界面的截圖:圖51 博客前臺(tái)圖52 博客前臺(tái)評(píng)論顯示后臺(tái)界面包括左側(cè)邊欄、主控制區(qū)、header區(qū)域和footer區(qū)域,下面是后臺(tái)的截圖:圖53 博客后臺(tái)首頁(yè)界面的布局均采用css+div的形式,在這種布局中,div承載的是內(nèi)容,而css承載的是樣式。 詳細(xì)設(shè)計(jì)概述本博客系統(tǒng)在功能和界面上都參照了流行博客系統(tǒng)wordpress,利用PHP+MySQL+Apache開(kāi)發(fā),所有測(cè)試工作和編碼都在windows環(huán)境下進(jìn)行,下面將介紹詳細(xì)設(shè)計(jì)的各個(gè)部分。69第6章 軟件測(cè)試第5章 系統(tǒng)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)階段的根本目標(biāo)是確定應(yīng)該具體的實(shí)現(xiàn)所要求的系統(tǒng),也就是說(shuō),經(jīng)過(guò)這個(gè)階段的設(shè)計(jì)工作,應(yīng)該得出對(duì)目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個(gè)描述直接翻譯成用某種程序設(shè)計(jì)語(yǔ)言書(shū)寫的程序。接著講述了數(shù)據(jù)庫(kù)的設(shè)計(jì)。接著給出了系統(tǒng)的功能模塊劃分。開(kāi)發(fā)工具:Dreamweaver,Navicat運(yùn)行環(huán)境:數(shù)據(jù)庫(kù):MySQL硬件環(huán)境GenuineIntel 1662 Mhz CPU,1G內(nèi)存, 100G硬盤 小結(jié)本章對(duì)系統(tǒng)進(jìn)行了總體設(shè)計(jì)。 編程語(yǔ)言采用PHP,相比jsp它能更快速的開(kāi)發(fā)應(yīng)用,編程工具采用Dreamweaver,Dreamweaver內(nèi)置了對(duì)PHP的支持,使開(kāi)發(fā)網(wǎng)站更方便快捷。它可以讓使用者連接本地/遠(yuǎn)端MySQL Server、提供一些實(shí)用的工具如資料/結(jié)構(gòu)同步、匯入/匯出、備份及報(bào)表以協(xié)助管理資料的流程。透過(guò)它極具巧思的圖形化使用者介面(GUI),Navicat MySQL 可以快速且容易的以安全且簡(jiǎn)單的方法建立、組織、存取及共享資訊。并支援最新版MySQL的大部份功 能,包括觸發(fā)器、預(yù)存程序、函式、事件、檢視、管理使用者等等。支持C、C++、Java、Perl、PHP、Python和TCL API。你可以用INSERT插入一個(gè)表列的子集,那些沒(méi)用明確給定值的列設(shè)置為他們的決省值。 5. 支持ANSI SQL的LEFT 0UTER JOIN和ODBC。 4. 全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函數(shù)(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。 3. 它通過(guò)一個(gè)高度優(yōu)化的類庫(kù)實(shí)現(xiàn)SQL函數(shù)庫(kù)并像他們能達(dá)到的一樣快速,通常在查詢初始化后不該有任何內(nèi)存分配。表41 文章article表列名說(shuō)明數(shù)據(jù)類型是否為空缺省值article_id文章idInt(5)否NULLarticle_post_date文章發(fā)表年月date否 NULLarticle_post_time文章發(fā)表具體時(shí)間time否NULLarticle_category文章所屬分類idInt(3)否1article_title文章標(biāo)題Varchar(100)否NULLarticle_content文章內(nèi)容Text否NULLarticle_ments文章評(píng)論數(shù)目Int(8)是0article_attribute文章屬性Int(1)否1表42 分類category表列名說(shuō)明數(shù)據(jù)類型是否為空缺省值Category_id分類idInt(3)否NULLCategory_title分類名稱Varchar(50)否 NULLCategory_description分類描述Text是NULLCategory_short_name分類縮略名稱Varchar(50)是NULLCategory_posted此類文章數(shù)目Int(5)是0Category_alive此類是否已經(jīng)刪除Int(1)否1表43 文章評(píng)論ments表列名說(shuō)明數(shù)據(jù)類型是否為空缺省值Comments_id文章評(píng)論idInt(10)否NULLComments_user文章評(píng)論用戶名Varchar(50)否 NULLComments_文章評(píng)論用戶EmailVarchar(50)否NULLComments_url_link文章評(píng)論用戶鏈接地址Varchar(50)否NULLComments_content文章評(píng)論的內(nèi)容Text否NULLComments_date文章評(píng)論的日期Date否NULLComments_time文章評(píng)論的時(shí)間Time否NULLComments_check文章評(píng)論是否被審核Int(1)否NULLComments_page_id文章評(píng)論所屬的文章idInt(5)否NULL表44 博客統(tǒng)計(jì)信息current_data表列名說(shuō)明數(shù)據(jù)類型是否為空缺省值ididInt(5)否NULLpost已經(jīng)發(fā)表的文章數(shù)目Int(5)否 0Comment已經(jīng)評(píng)論的數(shù)目Int(10)否0Pageinfo頁(yè)面數(shù)目Int(5)否0Allowed_ment已經(jīng)審核的評(píng)論數(shù)目Int(10)否0Not_allowed_ment未審核的評(píng)論數(shù)目Int(10)否0Category分類數(shù)目Int(5)否0Draft草稿數(shù)目Int(5)否0All_articles文章總數(shù)Int(5)否0pageinfo_allowed_m
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1