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

正文內(nèi)容

基于php與mysql的社區(qū)網(wǎng)站的設(shè)計與實現(xiàn)-資料下載頁

2024-11-17 21:20本頁面
  

【正文】 回復(fù)編號 NOT NULL Faid Int 11 所屬評論的 id NULL Content Varchar 500 回復(fù)內(nèi)容 NULL Uid Int 11 回復(fù)者 id NULL Rtime int 3 回復(fù)時間 NULL 標(biāo)簽庫信息表 :標(biāo)簽庫信息 表儲存本系統(tǒng)文章和問題的所有標(biāo)簽,如表 8 所示: 21 表 8 標(biāo)簽信息表 列名 數(shù)據(jù)類型 長度 字段含義 允許空 Id Int 標(biāo)簽編號 NOT NULL Tagname Varchar 30 標(biāo)簽名 NULL Bl Varchar 30 父標(biāo)簽 NULL 投票信息表 :投票信息表儲存的是對問題回答的投票信息,如表 9 所示: 表 9 投票信息表 列名 數(shù)據(jù)類型 長度 字段含義 允許空 Id Int 投票編號 NOT NULL Uid Int 11 投票者編號 NULL Aid Int 11 答案編號 NULL Status Int 1 投票狀態(tài) NULL Vtime Int 3 投票時間 NULL 關(guān)注信息表 :關(guān)注信息表是儲存用戶關(guān)注的其他用戶的數(shù)據(jù)表,如表 10 所示: 表 10 關(guān)注信息表 列名 數(shù)據(jù)類型 長度 字段含義 允許空 Id Int 關(guān)注數(shù)據(jù)編號 NOT NULL Uid Int 11 被關(guān)注者 id NULL Fuid Int 11 關(guān)注者 id NULL ftime Int 3 關(guān)注時間 NULL 消息表 :消息表是儲存用戶之間發(fā)送消息的數(shù)據(jù)表 ,如表 11 所示: 表 11 消息表 列名 數(shù)據(jù)類型 長度 字段含義 允許空 Id Int 消息編號 NOT NULL Sendid Int 11 發(fā)送者 id NULL Receid Int 11 接受者 id NULL Content Varchar 400 發(fā)送內(nèi)容 NULL Sendtime Int 3 發(fā)送時間 NULL Status Int 1 消息狀態(tài) NULL 系統(tǒng)實現(xiàn) 用戶登錄 /注冊窗口的實現(xiàn) 本系統(tǒng) 設(shè)計時 并沒有將用戶登錄和注冊頁面單獨(dú)設(shè)計在一個頁面,而是將登錄 /注冊窗口 以彈出框的形式 浮動在整個屏幕之上,彈出按鈕放在網(wǎng)站頭部的公共模塊中 。登錄與注冊存在于一個彈出框中,當(dāng)用戶沒有賬號時,點擊注冊按鈕,注冊界面會以動畫形式從底部出現(xiàn),而登錄模塊會滑動向上隱藏; 登錄窗口實現(xiàn)的核心 JavaScript 代碼如下: 22 = function(){ = none。 = none。 } = function(){ = block。 ? = false : ()。 } = function(){ stopEvent()。 } = function(){ = none。 = none。 } = function(){ = move 1s forwards。 } = function(){ = back 1s forwards。 } function stopEvent(){ //阻止冒泡事件 //取消事件冒泡 var e=[0]||event。 if (e amp。amp。 ) { ()。 } else if () { = true。 } } 登錄窗口實現(xiàn)效果如 圖 : 圖 16 登錄窗口實現(xiàn)效果 用戶密碼修改實現(xiàn) 用戶登錄后可以進(jìn)入自己的主頁 ,查看自己的基本資料 ,也可以通過編輯按鈕進(jìn)入資料設(shè)置頁來修改自己的資料 ,以修改密碼為例 ,以下代碼是 修改密碼的后端部分 代碼 : if (isset($_POST[39。s39。])amp。amp。$_POST[39。s39。]==39。two39。) { $user = M(39。User39。)。 $back[39。mess39。] =39。passwarn39。 23 $c[39。id39。] =$_SESSION[39。user39。]。 $c[39。password39。] = md5($_POST[39。c39。][39。op39。])。 if ($r=$userwhere($c)find()) { $data[39。password39。] = md5($_POST[39。c39。][39。np39。])。 if ($r2=$userwhere($c)save($data)) { $back[39。status39。] = 1。 $back[39。data39。]=39。新密碼已生效 39。 }else{ $back[39。status39。] = 0。 $back[39。data39。]=39。新密碼不能和舊密碼一樣 39。 } }else{ $back[39。status39。] = 0。 $back[39。data39。]=39。密碼錯誤 39。 } // var_dump($r2)。 $thisajaxReturn($back)。} 在密碼傳入后臺之前先驗證用戶新輸入的密碼 是否符合規(guī)范,接著驗證用戶的舊密碼是否正確,接下來才是將新密碼加密后存入數(shù)據(jù)庫之中。 密碼修改不成功會出現(xiàn)提示信息, 狀態(tài)及異常信息的傳遞是通過 Ajax 將數(shù)據(jù)以 JSON 的形式傳回前端的。 如圖所示 為未輸入完整密碼 : 圖 17 修改密碼效果 話題頁面的實現(xiàn) 話題頁面分為上、中、下三個模塊,其中中間的部分又分為左部的內(nèi)容展示區(qū)域和右邊的推薦信息展示側(cè)邊欄; 左部內(nèi)容區(qū)域展示了按照不同排序規(guī)則和不同分類規(guī)則輸出的文章內(nèi)容,排序規(guī)則分別為按照時間排序、瀏覽量排序、收藏量排序和推薦量排序; 分類規(guī)則是根據(jù)在數(shù)據(jù)庫中的 Tags 標(biāo)簽表來動態(tài)輸出的,每當(dāng)有一種新得類別存進(jìn)數(shù)據(jù)庫,在前端就會將其輸出出來,以便查詢 。 右邊欄則是輸出搜索框和發(fā)布文章的按鈕。此外,針對話題頁還應(yīng)該輸出討24 論最熱的話題 TOP10 和收藏排名前十個的話題命名個為收藏榜。 考慮到一次性將數(shù)據(jù)庫中的數(shù)據(jù)輸出在頁面上是很不現(xiàn)實的,因為這對數(shù)據(jù)庫和對瀏覽器的承載都是不明智的,所以本系統(tǒng)采用在后臺分頁的方式,由于作為測試數(shù)據(jù)不是很多,所以將數(shù)據(jù)按每頁 10 條的數(shù)量進(jìn)行分頁。 話題頁 實現(xiàn)效果如圖所示 : 圖 18 話題頁實現(xiàn)效果 由于本系統(tǒng)采用 ThinkPHP 的框架, ThinkPHP 已經(jīng)封裝了一個分頁類,所以大大簡便了分頁的實現(xiàn),分頁 部分 代碼如下: $Page = new \Think\Page($count,10)。 $PagesetConfig(39。prev39。, 39。?39。)。 $PagesetConfig(39。next39。, 39。?39。)。 $PagesetConfig(39。first39。,39。171。39。)。 $PagesetConfig(39。last39。, 39。187。39。)。 $PagesetConfig(39。theme39。, 39。%UP_PAGE% %FIRST% %LINK_PAGE% %END% %DOWN_PAGE%39。)。 $PagerollPage = 5。 // 分頁欄每頁顯示的頁數(shù) $show = $Pageshow()。 // 分頁顯示輸出 $thisassign(39。page39。,$show)。 // 賦值分頁輸出 分頁效果如圖所示: 圖 19 分頁效果 文章查看頁面的實現(xiàn) 文章查看頁面采用和話題頁面相同 的布局方式,只是左部的內(nèi)容區(qū)域輸出某一篇文章的詳細(xì)信息,包括了文章標(biāo)題、作者、發(fā)表時間、所屬標(biāo)簽、瀏覽量、文章內(nèi)容、收藏數(shù)、推薦數(shù); 右側(cè)的區(qū)域增加了作者的基本信息,包括了作者頭像、昵稱、簽名、作者成就、以及作者的其他文章和問題等; 文章輸出后端部分代碼如下: public function article(){//話題查看函數(shù) 25 $inputTopic = M(39。Topic39。)。 $condition[39。Id39。] = array(39。eq39。,$_GET[39。id39。])。//得到文章 id $inputTopicwhere($condition)setInc(39。view39。)。//瀏覽量 +1 $list = $inputTopicwhere($condition)find()。//得到文章全部信息 $user = M(39。User39。)。//實例化用戶表 $c[39。Id39。] = $list[39。author39。]。 $d[39。author39。] = array(39。eq39。,$list[39。author39。])。 $hisTop = $inputTopicwhere($d)field(39。id,title39。)limit(10)select()。 $author = $userwhere($c)find()。//得到作者全部信息 $list[39。t_time39。] = Date(39。Ymd H:i39。,(int)$list[39。t_time39。])。//時間格式化 $thisassign(list, $list)。//輸出當(dāng)前文章信息 $thisassign(39。author39。,$author)。//輸出作者信息 $thisassign(39。hisTop39。,$hisTop)。 // var_dump($author)。 $thisdisplay()。 } 文章輸出效果如下圖所示: 圖 20 文章輸出頁效果 收藏、推薦功能的實現(xiàn) 由于收藏和推薦功能基本邏輯相同,所以將這兩個模塊放到一起,下面以收藏功能為例說明; 在用戶信息表中設(shè)置了一個字段 collectq,儲存的是該用戶收藏的文章的 id串,形式為 id1, id2, id3, ……。即每當(dāng)用戶收藏一篇文章,此字段就會更新,將新加入的文章 id 寫入串中;當(dāng)用戶點開一篇文章時,程序會讀取這篇文章的id,然后再用戶信息表的 collectq 字段中檢索,若存在此字段,就顯示為已收藏狀態(tài),反之為未收藏。若用戶在已收藏狀態(tài)下再次點擊收藏按鈕,系統(tǒng)會將此文章 id 從 collectq 字段中刪除,顯示為未收藏,即用戶進(jìn)行了取消收藏操作; 收藏功能后端部分代碼如下: if ($_POST[39。action39。]==1) {//收藏操作 $topicwhere(39。Id=39。.$aId)setInc(39。collect39。)。//the article`s collect+1 $collect[39。collect39。] = $collect[39。collect39。].$aId.39。,39。//new article into user`s collect $data = 10。 }else if($_POST[39。action39。]==0){//取消收藏操作 26 $topicwhere(39。Id=39。.$aId)setDec(39。collect39。)。//collect1 $collect[39。collect39。] = str_replace($aId.39。,39。,39。39。,$collect[39。collect39。])。 //user`s collect remove the article`s id $data = 11。 } $userwhere($condition)save($collect)。//更新收藏 echo $data。 } 如圖所示為用戶未收藏該文章和已推薦該文章的效果示例: 圖 21 推薦 /收藏效果 評論功能的實現(xiàn) 評論功能分為用戶提交評論和讀取 評論兩種情況。值得一提的是,用戶在未登錄狀態(tài)下評論窗口是不會開放的。評論的提交和讀取都是基于 Ajax 技術(shù),下面將分別闡述實現(xiàn)過程。 評論的提交,用戶在評論框中輸入評論內(nèi)容后前端 js 會進(jìn)行驗證內(nèi)容是否為空值,如果不為空則會將用戶的信息、評論所屬文章的信息傳入后臺由 PHP 程
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1