【正文】
數(shù)據(jù)查詢P H P 解 釋程 序 圖 PHP 工作原理圖 PHP 獨特的語法混合了 C、 Java、 Perl 以及 PHP 自創(chuàng)新的語法。 至 版本時, PHP 已經非常全面地支持面向對象的設計思想。它以快速、可靠、易擴展的特點在所 有的服務器軟件中占有優(yōu)勢,并且它的源代碼開放,因此有大量的開發(fā)人員投入了大量的時間精力來逐步的將其完善, Apache 不僅可作為 web 服務器,它還包含了代理服務器的功能。 Apache、 PHP 在實際應用中為最佳組合。它具有功能強、使用簡便、管理方便、運行速度快、安全可靠性強等優(yōu)點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了 MySQL 作為網(wǎng)站數(shù)據(jù) 庫。這些編程語言包括 C、 C++、 Python、 Java、 Perl、PHP、 Eiffel、 Ruby 和 Tcl 等。 7.提供 TCP/IP、 ODBC 和 JDBC 等多種數(shù)據(jù)庫連接途徑 。 11. MySQL 是開放源碼軟件, 建站成本低。無論用戶 的規(guī)模有多大,有多少分支機構都不會增加任何維護升級的工作量,所有的操作只需要針對服務器進行,而作為客戶端,只需安裝瀏覽器,瀏覽器通過 W 服務器同數(shù)據(jù)庫進行數(shù)據(jù)交換, B/S 結構與 C/S 結構相比大大降低了維護成本,特別是從 Windows98 開始,將瀏覽器植入到系統(tǒng)中, B/S 這種結構就更加成 為當前應用軟件的首選體系結構。 (2)業(yè)務邏輯層 :實現(xiàn)業(yè)務的具體邏輯功能,如考生成績管理等。 使用 DW+CSS 布局的優(yōu)勢的體現(xiàn) : (l)頁面樣式調整更方便 :這樣更加方便維護,只需改變幾個 CSS 文件即可將網(wǎng)站的樣式進行調整。 (4)支持瀏覽器向后兼容。 當進行數(shù)據(jù)添加、更新時,系統(tǒng)內部應提供對請求處理的來源及響應時間的監(jiān)控機制。對 95%的數(shù)據(jù)交互查詢,更新提供 2 秒或更短響應時間的支持 [10]。系 統(tǒng)的管理和操作界面應易于使用。 系統(tǒng)目標 本文是針對目前 國內主流微博產品所具備的主要特點和功能進行設計,具有對微 1. 完備的系統(tǒng)功能 本系統(tǒng)是一個功能完備的微博網(wǎng)站,可用于建站運行,也可在此基礎上方便地進行二次開發(fā)。任何一款互聯(lián)網(wǎng)產品都有特定應用領域,特定用戶群體及其需求。這便要求對于博文的信息呈現(xiàn)具有多樣的形式。另外,推薦好友、博文、話題等,應當放到系統(tǒng)醒目位置,以便更加人性地服務用戶,增加用戶體驗。當關注者對于某條博文非常感興趣 或觀點而希望能夠表達其想法時,本系統(tǒng)應當提供一些簡單、便捷的使用方式,系統(tǒng)并可據(jù)此從 而決定推薦關注度非常高的博文給所有用戶。 第 4 章 系統(tǒng)設計 總體功能設計 本系統(tǒng)設計主要圍繞著用戶體驗的良好性,和網(wǎng)絡數(shù)據(jù)的輕便性開展。 好友管理:用戶可以對自己感興趣的人加關注,查看自己的關注對象以及關注自己的人,可以針對專業(yè)、社團、地區(qū)等條件篩選用戶。 系統(tǒng)模塊功能詳細設計 功能模塊獨立的概念是功能模塊化、抽象、信息隱蔽和局部化概念的直接結果。 功能模塊獨立性好的軟件接口簡單,易十編制,獨立的功能模塊也比較容易測試和維護,限制了功能模塊之間由十聯(lián)系緊密而引起的修改副作用。管理員通過用戶注冊功能,數(shù)據(jù)庫中登記用戶信息,在數(shù)據(jù)庫中有注冊信息的用戶才允許使用微博系統(tǒng)進行使用。登錄系統(tǒng)時,若為已注冊用戶,則輸入登錄名、密碼和驗證碼并提交,系統(tǒng)進行數(shù)據(jù)校驗。 用 戶 注 冊用 戶 登 錄 用 戶 數(shù) 據(jù)是 否 合 法出 錯 提 示登 錄 成 功修 改 個 人 信 息發(fā) 布 微 博轉 發(fā) 微 博評 論 微 博微 博 數(shù) 據(jù) 圖 三微博系統(tǒng)用戶登錄流程圖 登錄后首頁模塊 對 于 已經登錄的用戶,可以發(fā)表自己的微博消息,這個消息出現(xiàn)在自己的微博消息記錄中,關注該用戶的用戶消息中,隨機到打聽中。在管理用戶信息模塊中,分 為基本信息、頭像設置、推薦自己等三個子模塊。 微博模塊 微博模塊是整個系統(tǒng)的核心,主要有發(fā)送功能、存儲功能、修改刪除功能、引用其它 資源功能。如果超過了 140 個字符,系統(tǒng)將不允許用戶繼續(xù)輸入。 。微博可以包含其它資源信息,比 如圖片、視頻、系統(tǒng)會在其它資源表中保存資源信息,在微博正文的表中,只保存這些資源的鏈接。 ,提供用戶的關注行為。 ,在自己所關注的用戶中,可以將所關注的用戶進行分類。在管理博文中,分為發(fā)表博文、刪除博文、評論博文、評價博文等五項功能。它關系到整個系統(tǒng)的運行情況,是整個系統(tǒng)的重要組成部分。本系統(tǒng)所用數(shù)據(jù)庫為 My SQL,數(shù)據(jù)庫名為 weblog。 ( 3)評論信息:包括評論編號、用戶編號、添加時間、評論內容。 表 42 微博日志設計表 含義說明:描述微博日志的內容與性質。 表 44 評論內容設計表 ment(評論)表 字段名稱 數(shù)據(jù)類型 說明 空 默認 備注 id int(10) 評論編號 否 無 主鍵 自加 who int(10) 評論者 id 否 無 外鍵 towho int(10) 被評論者 id 否 無 外鍵 mood int(10) 被評論微博 id 否 無 外鍵 mood(微博)表 字段名稱 數(shù)據(jù)類型 說明 空 默認 備注 id int(10) 微博編號 否 無 主鍵 自加 whos int(10) 用戶 id 否 無 外 content varchar(5000) 內容 否 無 from tinyint(10) 轉載自 否 無 fowardnum int(10) 轉載數(shù)量 否 無 datetime datetime 發(fā)布時間 否 無 content varchar(300) 評論內容 否 無 datetime datetime 評論時間 否 無 表 45 回復內容設計表 response(回復)表 字段名稱 數(shù)據(jù)類型 說明 空 默認 備注 id int(10) 回復編號 否 無 主鍵 自加 who int(10) 回復人 否 無 外 content varchar(300) 內容 否 無 toment int(10) 針對評論 否 無 外 datetime datetime 時間 否 無 6. 用戶相冊 表 45 用戶相冊設計表 image(圖片)表 字段名稱 數(shù)據(jù)類型 說明 空 默認 備注 id int(10) 圖片編號 否 無 主鍵 自加 user int(10) 用戶 id 否 無 外 title varchar(100) 圖片標題 否 無 photo varchar(255) 圖片地址 否 無 datetime datetime 上傳時間 否 無 表 46 用戶私信設計表 message(私信)表 字段名稱 數(shù) 據(jù)類型 說明 空 默認 備注 id int(10) 私信編號 否 無 主鍵 自加 from int(10) 發(fā)件人 id 否 無 外 to int(10) 收件人 id 否 無 外 title varchar(50) 標題 否 無 content varchar(3000) 內容 否 無 visible int(11) 是否密信 否 無 0 為密信 datetime datetime 發(fā)送時間 否 無 looked int(11) 是否未讀 否 無 0 為未讀 8. 關注者微博列表(視圖) 表 47 關注者微博列表設計表 potlet(關注者的微博列表)視圖 字段名稱 數(shù)據(jù)類型 說明 空 默認 備注 id int(10) 編號 否 0 followedid int(10) 已關注者 id 否 0 follow 表 avatar varchar(60) 頭像 否 無 user 表 remark varchar(40) 備注名稱 是 null follow 表 moodid int(10) 微博 否 0 mood 表 說明:首頁需要顯示已關注對象的最新微博、頭像及評論等信息,信息分布在不同的表中 ,需要各表遞進查找,建立視圖使查詢更加有效率更加方便。 數(shù)據(jù)庫模型 在數(shù)據(jù)庫信息特點的基礎上可以得到數(shù)據(jù)庫模型圖,以便于編碼實現(xiàn): u s e r 用 戶P K i d u r s e r n a m e u s e r p s w n i c k n a m e a v a t a r a g e s e x e m a i l a d d r e s s p r o f e s s i o n r e g i s t t i m e l a s t t i m e f o l l o w i n g f o l l o w e dm o o d 微 博P K i dF K 1 w h o s c o n t e n tF K 2 f r o m f o r w a r d n u m d a t e t i m ec o m m e n t 評 論P K i dF K 1 w h oF K 2 w i t c h m o o d c o n t e n t d a t e t i m er e s p o n s e 回 復P K i d n o t e sF K 1 w i t c h cF K 2 w i t c h rF K 3 r e s p o n s i n gF K 4 r e s p o n s e d d a t e t i m em e s s a g e 家 信P K i dF K 1 f r o mF K 2 t o c o n t e n t v i s i b l e d a t e t i m e l o o k e df o l l o w 關 注P K i dF K 2 f o l l o w i n gF K 1 f o l l o w e d r e m a r ki m a g e 相 冊P K i dF K 1 u s e r t i t l e p h o t o d a t e t i m e 圖 數(shù)據(jù)庫模型圖 數(shù)據(jù)流程設計 數(shù)據(jù)流圖是結構化 分析方法中使用的工具 ,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程 [12],由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。 下圖刻畫了本系統(tǒng)的詳細數(shù)據(jù)流程設計: 登 錄驗 證獲 取 個 人信 息用 戶查 找 用 戶 名U s e r 表是 否 存 在獲 取 密 碼注 冊與 P O S T 密碼 匹 配N a m eNYP w dNYU s e r 表用 戶 信 息獲 取 相 冊獲 取 關 注 人 列 表獲 取 私 信用 戶 i d用 戶 i d 用 戶 i dN a m e amp。 登錄后首頁來到用戶自己和所關注的用戶的微博列表頁面,有快捷發(fā)送微博的輸入框,很方便的輸入新的微博信息并發(fā)布 系統(tǒng)個人微博信息模塊,此模塊可以顯示個人信息及修改完善個人信息。 相冊頁面要求圖片展示不失真,圖片切換流暢,上傳、刪除、下載按鈕明顯易操作。 。user39。 varchar(40) NOT NULL, 39。 varchar(40) NOT NULL, 39。, 39。 varchar(300) NOT NULL, 39。 varchar(60) NOT NULL, 39。 varchar(60) NOT NULL, 39。 varchar(40) NOT NULL, 39。 datetime NOT NULL, PRIMARY KEY (39。 視圖的建立 根據(jù)前文數(shù)據(jù)庫設計,需要建立關注人的微博列表 potlet 視圖,建立方法如下: DROP VIEW IF EXISTS 39。39。 AS select 39。 AS 39。.39。, 39。 AS 39。.39。, 39。 AS 39。 39。 39。) join 39。.39。.39。.39。.39。.39。.39。 數(shù)據(jù)操作 數(shù)據(jù)庫生成后,要實現(xiàn)基于 Web 數(shù)據(jù)庫的連接和查詢,需要用到六個函數(shù) :數(shù)據(jù)庫的連接與使用、送出一個字串、取得傳回列的數(shù)目、傳回陣列資料、關閉與 MySQL 數(shù)據(jù)庫的連接。 本 系統(tǒng)采用了基于數(shù)據(jù)庫的認證力一式,用戶登錄時, 先將用戶名和密碼提交數(shù)據(jù)庫進行驗證,如果信息無誤,則用戶登求成功。 Session 中文譯成“會話”,它是用戶訪問某個 Web 網(wǎng)站或應用程序的過程,它具有存儲功能,可以在頁 Ifll 之間進行參數(shù)的傳遞 [12]。使用一個 session 變量時,首先要用 session_ register()函數(shù)進行注冊