{$vo2.a_time} ({$vo2.a_sum})
摘要:前臺展示頁面首頁博客系統前端博客博客系統前端博客發表預留給多說評論側邊預留給多說評論的版塊是評論排行,和評論展示。。。一個前端寫的博客系統支持哦一個前端寫的博客系統文章的修改和刪除
部署的演示地址 我的博客地址: http://www.weber.pub 可以查看到具體的站點展示 github 地址:https://github.com/baiyuming/byblog 前臺首頁展示
首頁的側邊預留的位置是給后面的統計,熱門之類的版塊預留位置。。。
控制器文章列表展示要考慮到文章數量增多后分頁展示,那么我們要統計文章數量,使用 count() 計算文章總數,然后使用thinkphp 提供的分頁方法,傳入總記錄數和每頁顯示的記錄數后進行輸出。。。
統計各個月份分別發表了多少篇文章,這里使用的是query方法來執行sql語句。
代碼如下:
public function index(){ // 文章列表 // 查詢滿足要求的總記錄數 $count = M("article")->count(); $this->assign("count",$count); // 實例化分頁類 傳入總記錄數和每頁顯示的記錄數 $Page = new ThinkPage($count,15); // 分頁顯示輸出 $show = $Page->show(); $article = M("article") ->order("a_time desc") -> field("a_id,a_title,a_remark,a_time,a_keyword,a_hit") ->limit($Page->firstRow.",".$Page->listRows)->select(); // 賦值數據集 $this->assign("data",$article); // 賦值分頁輸出 $this->assign("page",$show); //這塊是統計各個月份的文章數量 $Count = M(); $sql = "SELECT DATE_FORMAT(FROM_UNIXTIME(a_time),"%Y%m") a_time, COUNT(1) a_sum FROM `by_article` GROUP BY DATE_FORMAT(FROM_UNIXTIME(a_time),"%Y%m") desc"; $res = $Count->query($sql); $this -> assign("count",$res); $this->display(); }
分頁基于thinkphp,但是樣式是我自己調整的,看起來稍微美觀點。。。
前臺展示頁面(View)首頁 - ByBlog {$vo2.a_time} ({$vo2.a_sum})
{$page}
側邊預留給多說評論的版塊是評論排行,和評論展示。。。關于多說評論確實好用,推薦下。。。
內容詳情頁展示 控制器這里就是根據首頁文章鏈接的id 去數據庫查詢 Article 表中的數據,然后推到前臺頁面展示
public function content($id=2){ $Form = M("Article"); // 讀取數據 $data = $Form->find($id); //var_dump($data); if($data) { $this->assign("data",$data); }else{ $this->error("數據錯誤"); } $this->display(); }頁面
這里文章詳情頁的底部我分別加了百度分享,和多說評論
后臺登錄功能的實現登錄功能主要是session控制做了挺久的。。。
登錄頁面登錄控制器
前端提交用戶名和密碼到后臺,首先我們判斷是否是使用的 post 提交。。。
根據提交的用戶名去查詢用戶表中的數據,如果數據庫返回沒有這個用戶或者用戶提交的密碼經過md5加密后的值和數據庫中密碼不匹配,返回錯誤。
如果前面都沒有問題,我們就可以更新用戶表中的最后登錄時間、登錄電腦的ip,然后向session 中寫入用戶數據,用來判斷用戶的登錄,從而禁止用戶不登錄直接操作。
public function login(){ // 判斷是否是post提交 if(!IS_POST) halt("頁面錯誤"); $db = M("user"); // 根據提交的用戶名 查詢數據庫 $user = $db -> where(array("name" => I("post.username"))) -> find(); if(!$user || $user["password"] != I("post.password","","md5")){ $this -> error("賬號或密碼錯誤"); } $data = array( "id" => $user["id"], "last_time" => time(), "ip" => get_client_ip() ); // 更新登錄時間 和 ip $db -> save($data); // 寫入session session("uid",$user["id"]); session("username",$user["name"]); session("username",$user["name"]); session("logintime",date("Y-m-d H:i:s"),$user["last_time"]); session("ip",$user["ip"]); // 跳轉到后臺列表頁 redirect("../Blog/listA"); }session信息的使用
在控制器文件夾創建一個common控制器,使用_initialize函數判斷session,如果session不存在,跳轉到登錄頁面。。。
讓其他的控制器全部繼承common 控制器,比如:
class BlogController extends CommonController { .... }
CommonController 控制器代碼如下:
class CommonController extends Controller { Public function _initialize(){ // 判斷session 是否存在,不存在跳轉到登錄頁 if(!isset($_SESSION["uid"])){ $this -> redirect("Admin/Login/index"); } } }部署到阿里云 上傳代碼
使用 FileZilla 上傳到服務器
創建數據庫執行上篇文章中的 sql 語句,再給用戶表手動添加數據的時候密碼是需要經過md5加密的
后續php實在不怎么熟悉了,代碼寫的不夠優雅,多擔待哈。。。還有很多的功能尚未實現,后續會繼續更新。。。有問題的話歡迎吐槽(但是別噴我啊。。。)
未完待續。。。一個前端寫的php博客系統--支持markdown哦
一個前端寫的php博客系統3--文章的修改和刪除
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/21817.html
摘要:部署的地址我的博客地址起因最近買了個新的域名,同時在阿里云申請了免費的虛擬主機。。。一個前端寫的博客系統前臺展示后臺登錄一個前端寫的博客系統文章的修改和刪除 部署的地址 我的博客地址:http://www.weber.pub/ 起因 最近買了個新的域名,同時在阿里云申請了免費的虛擬主機。。。借此機會就想搞個自己的博客站點,雖然之前也使用了hexo + github 、 WordPres...
摘要:寫在后面這個簡單的博客系統基本功能算是已經完善了,但是其中還有很多值得優化和修改的地方。。。另外篇博文地址一個前端寫的博客系統支持哦一個前端寫的博客系統前臺展示后臺登錄 部署的地址 我的博客地址:http://www.weber.pub/ github 地址:https://github.com/baiyuming/byblog 文章的修改 文章的修改需要兩步,第一步讀取文章,第二步更...
摘要:后端主要使用的框架,數據庫采用。后臺管理登錄采用與后端進行登陸狀態的確認。本文首發于小站,這是一個積累和分享知識的個人博客 這篇文章擱置了很長時間,最終決定還是把它寫出來,給剛開始學習vue并且想用vue寫個人博客的同學一個參考。因為當初我也是參考了其他人分享的知識,從一個vue小白變成了一個入門級選手,并最終完成了這個個人博客的搭建工作,代碼已托管在Github-justJokee。...
摘要:本項目是一個簡單的全棧項目,前端新手可以拿來練練手。項目實現了一些簡單的功能,后臺可以對圖書進行錄入錄出掃碼或手動,前臺顯示錄入的圖書,并且前臺注冊登錄后可以將書的訂單發給服務器,并存到服務器。 Vue-book 2.0 Github 地址:https://github.com/percy507/v... 【覺得不錯就來個 star 吧 ^_^】 說明(菜鳥請進,大神繞道 ~) 前端...
摘要:本項目是一個簡單的全棧項目,前端新手可以拿來練練手。項目實現了一些簡單的功能,后臺可以對圖書進行錄入錄出掃碼或手動,前臺顯示錄入的圖書,并且前臺注冊登錄后可以將書的訂單發給服務器,并存到服務器。 Vue-book 2.0 Github 地址:https://github.com/percy507/v... 【覺得不錯就來個 star 吧 ^_^】 說明(菜鳥請進,大神繞道 ~) 前端...
閱讀 804·2021-09-06 15:02
閱讀 2446·2019-08-30 15:43
閱讀 2170·2019-08-30 11:26
閱讀 2376·2019-08-26 12:12
閱讀 3546·2019-08-23 18:24
閱讀 3262·2019-08-23 18:16
閱讀 700·2019-08-23 17:02
閱讀 2248·2019-08-23 15:34