中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于PHP怎么實現個人博客網站

發布時間:2022-04-15 13:38:11 來源:億速云 閱讀:231 作者:iii 欄目:開發技術

這篇“基于PHP怎么實現個人博客網站”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“基于PHP怎么實現個人博客網站”文章吧。

一、運行展示

基于PHP怎么實現個人博客網站

二、功能說明

未登錄用戶:

僅可以瀏覽所有博客的內容。

已登錄用戶:

  • 瀏覽所有博客的內容;

  • 發表博客;

  • 刪除自己的博客;

  • 修改自己的博客;

  • 在任一博客下評論;

  • 修改昵稱和密碼。

管理員:

  • 可以執行普通用戶的所有功能;

  • 修改任一博客的內容;

  • 刪除任一博客;

  • 刪除任一用戶。

網站平臺功能補充說明:

  • 動態顯示博客信息(如當前所有博客數量,用戶個人博客數量,以及博客內容信息);

  • 博客和評論發表的時間遵循北京時間;

  • 登錄時只要輸入賬號密碼即可,后臺會自動判斷該賬號為普通用戶還是管理員,進而推送到對應的網頁。

三、核心代碼講解

1、創建數據庫

drop database  if  exists grblog;
CREATE DATABASE `grblog` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE grblog;
-- 人員信息
CREATE TABLE admin
(
    adminMail varchar(25) primary key,
    adminName varchar(10) not null,
    passWord varchar(15) not null,
    level enum('user', 'super')
);

-- 博客信息
CREATE TABLE blog
(
    blogNo int primary key AUTO_INCREMENT,
    blogTopic varchar(50) not null,
    blogContent varchar(5000) not null,
    adminMail varchar(25) not null,
    importDate date not null ,
    foreign key (adminMail) references admin(adminMail)

);

-- 評論信息
CREATE TABLE comment
(
    commentNo int primary key AUTO_INCREMENT,
    commentContent varchar(500) not null,
    adminMail varchar(25) not null,
    blogNo int,
    commentDate datetime not null ,
    foreign key (adminMail) references admin(adminMail),
    foreign key (blogNo) references blog(blogNo)

);

2、初始化數據

INSERT INTO `admin` (`adminMail`,`adminName`, `passWord`, `level`) VALUES ('2015100@126.com', '不脫發的程序猿', 'pwdpwd', 'user'),('2015333@163.com', '濤歌依舊', 'pwdpwd', 'user'),('2015222@qq.com', 'ThinkWon', 'pwdpwd', 'user'),('2015111@qq.com', 'SAP劍客', 'pwdpwd', 'user'),('2015201@126.com', '敖 丙', 'pwdpwd', 'user'),('2015202@126.com', '>=FreeMan=<', 'pwdpwd', 'user'),('2015203@126.com', '布客飛龍', 'pwdpwd', 'user'),('2015101@126.com', 'Riveore', 'pwdpwd', 'user'),('2015102@1256.com', '打雜人', 'pwdpwd', 'user'),('super@126.com', '超級管理員', 'superpwd', 'super');
INSERT INTO `blog` (`blogNo`,`blogTopic`, `blogContent`, `adminMail`, `importDate`) VALUES (1, 'Python開發人員常犯的幾個重大錯誤', 'Python 無疑是當今使用最廣泛的編程語言,特別是進入人工智能時代,已經成為人工智能開發的主要語言,甚至小學三年級就已經教學該語言。它之所以如此流行,很大程度上是由于簡單的語法和老少皆宜的可讀性,這使得它非常容易使用。初學者之所以喜歡 Python,是因為它給人一種感覺就像是用英語寫一段偽代碼一樣。但是,無論你有多么豐富的經驗,也無論你已經研究過多少種語言,切換到 Python 并不能保證你能做到平穩過渡。具有面向對象編程背景的開發人員很容易忽略 Python 的常用特性,或者說python范式編程。這樣一來,他們很可能會誤用編程結構,從而可能出現難以發現的、不可預見的錯誤。更糟糕的是,這些錯誤大多很難發現,并且可能會給項目工程帶來天大的麻煩,輕則刪庫跑路,重則抱恨終身。在本文中,將列出程序員(通常是菜鳥)可能會犯的常見錯誤。此外,我還將介紹如何避免這些錯誤,以便編寫出更好的、無錯誤的 Python 代碼。', '2015100@126.com','2020-12-1'),(2, '組合優化問題', '其實組合優化問題我想大家肯定是遇到過的,因為可能現在在看這篇博客的同學都學過了算法程序設計或者數據結構等的課程。那么你們肯定見過所謂的0-1背包問題,這個問題就是很典型的組合優化問題。當然啦還有旅行商問題等也屬于組合優化問題。很多離散組合優化問題都是從運籌學(Operations Research,OR)中演化出來的。組合優化其所研究的問題涉及到信息技術、經濟管理、工業工程、交通運輸、通信網絡等眾多領域,在科學研究和生產實踐中都起著重要的作用。我們不難發現,其實這些問題解決的方法其實很簡單,比方說0-1背包,那無非就是n個物品,每個物品要么帶要么不帶,即為2^n的情況,得到所有情況然后取出價值最大的那種方法就可以了。是呀,這樣子的話真的是老簡單了。哈哈,開個玩笑。只要是稍微多想一想都能發現我們上述的窮舉法有一個很致命的問題,就是當你的n值過大時,對應的計算量可是呈指數暴增的。所以這個時候,就需要我們借助智能優化計算方法,可以在合理的時間內求解得到令人滿意的解,從而滿足實踐的需要。對于算法的計算復雜性,我們一般很容易進行判斷,例如使用蠻力法去枚舉旅行商問題或者0-1背包問題的算法,就是具有指數計算復雜性的算法。', '2015101@126.com','2020-12-1'),(3, 'PHP簡介', 'PHP最初是一個小型的開源項目,隨著越來越多的人發現它很有用,它發展了起來。Rasmus Lerdorf在1994年發布了PHP的第一個版本。PHP是“PHP:超文本預處理器(PHP: Hypertext Preprocessor)”的遞歸首字母縮略詞。PHP是嵌入在HTML中的服務器端腳本語言。它用于管理動態內容,數據庫,會話跟蹤,甚至建立整個電子商務網站。它與許多流行的數據庫集成,包括MySQL,PostgreSQL,Oracle,Sybase,Informix和Microsoft SQL Server。PHP在其執行過程中令人愉快,特別是在Unix端編譯為Apache模塊時更是如此。MySQL服務器一旦啟動,就會在記錄設置時間內執行非常復雜的查詢,并帶有巨大的結果集。PHP支持大量主要協議,如POP3,IMAP和LDAP。PHP4增加了對Java和分布式對象體系結構(COM和CORBA)的支持,使n層開發成為第一次。PHP是寬容的:PHP語言試圖盡可能寬容。PHP語法是類C的。', '2015101@126.com','2020-12-1'),(4, 'MySQL 教程', 'MySQL 是最流行的關系型數據庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS(Relational Database Management System:關系數據庫管理系統)應用軟件之一。在此次教程中,會讓大家快速掌握 MySQL 的基本知識,并輕松使用 MySQL 數據庫。數據庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫。每個數據庫都有一個或多個不同的 API 用于創建,訪問,管理,搜索和復制所保存的數據。我們也可以將數據存儲在文件中,但是在文件中讀寫數據速度相對較慢。所以,現在我們使用關系型數據庫管理系統(RDBMS)來存儲和管理大數據量。所謂的關系型數據庫,是建立在關系模型基礎上的數據庫,借助于集合代數等數學概念和方法來處理數據庫中的數據。RDBMS 即關系數據庫管理系統(Relational Database Management System)的特點:1.數據以表格的形式出現;2.每行為各種記錄名稱;3.每列為記錄名稱所對應的數據域;4.許多的行和列組成一張表單;5.若干的表單組成database', '2015222@qq.com','2020-12-1'),(5, 'web前端知識體系梳理', '現在是信息時代,經過 web1.0 時期、web2.0 時期到現在的移動互聯網時期,信息獲取越來越高效,坐著不動就會有大量的新聞、博客、資訊向你推薦而來。作為一名靠譜的程序員,你免不了要查閱大量的文章、視頻和書籍來充斥你的知識量,不斷學習。但是現在網上大量的信息堆積起來,對于你來說意味著什么?你如何去合理的篩選、梳理這些獲得的信息,又如何去知道自己現在還缺什么信息?到這里就應該提出本文的主題 —— 知識體系 。其實無論針對哪個知識領域,它都是有一套完整的、成型的知識體系和標準作為支撐的,例如數學、建筑、醫學、機械等等,當然包括計算機編程,其中肯定包括前端開發。有了完善的知識體系,再來面對大量的信息獲取,你就知道每個信息所說的知識點是屬于知識體系中的哪個部分。同時,你也會很清楚自己哪些部分掌握的好,哪些部分掌握的不好,甚至哪些部分自己壓根都沒聽說過。現在不一樣了,網速越來越快、瀏覽器和 JS 引擎足夠強大,而且 vue React 等框架流行開來,使得前端 JS 的業務邏輯越來越大,這些基礎知識必須掌握。最后別忘了,nodejs 都盛行多年了,這可讓 JS 運行到 server 了,和 php java 等干一樣的事情。最后補充一句。其實編程基礎也不止這幾個,像編碼、編譯原理、計算機組成、網絡等這些都是基礎,但是并不會和前端開發直接相關(或者和我們日常開發相關性不大),這里就不再深究了。有興趣的讀者,可以自己繼續補充。', '2015101@126.com','2020-12-1'),(6, '后臺開發知識點', '多線程和多進程區別:1.進程之間數據分開,進程間通信需要特殊的ipc機制(管道,信號量,共享內存,消息隊列),線程存在于進程內,線程之間共享進程的堆區間,全局靜態存儲區,而各自擁有自己獨立的棧空間,同步數據用互斥量;2.進程的創建,銷毀,切換復雜,速度慢,線程是輕量級進程。;3.進程占用內存多,cpu利用率低。線程占用內存少,CPU利用率高。;4.進程之間不會互相影響,進程的一個線程掛掉則會導致整個進程掛掉。線程私有內容:線程id,寄存器值,棧內存,線程的調度策略,線程的私有數據,errno變量', '2015201@126.com','2020-12-1'),(7, 'web后臺開發需要學習哪些知識', 'web后臺開發需要學習的知識有HTML、CSS、JavaScript、DOM、Web服務器、服務器腳本語言、數據庫及SQL語言以及baiweb框架。web后臺開發學習步驟:1、學習HTML和CSS。HTML(超文本標記語言)是網頁的核心,學好HTML是成為Web開發人員的基本條件。學習CSS了,它可以幫你把網頁做得更美觀。利用HTML和CSS模擬一些你所見過的網站的排版和布局(色彩,圖片,文字樣式等等)。2、學習javascript,了解DOM。JavaScript是一種能讓你的網頁更加生動活潑的程序語言。學習JavaScript的基本語法,學會用javascript操作網頁中dom元素。接著學習使用一些javascript庫,比如jquery是大部分WEB開發人員都喜歡用的,通過Jquery可以有效的提高JavaScript的開發效率。3、了解Web服務器。學習一點Unix和Linux的基本知識,因為大部分Web服務器都運行在Unix和Linux平臺上。4、學好一門服務器端腳本語言。目前流行的服務器腳本語言有:php、asp.net、jsp、ruby、python等。可以選一個自己喜歡的進行學習。5、學習數據庫及SQL語法。要構建動態頁面通常會使用到數據庫,常用的數據庫有SQLServer、Oracle、MySQL 等,它們都會遵循標準的SQL原則。通常asp.net 程序使用SqlServer數據庫,PHP、java使用Oracle、MySQL數據庫。6、學習使用Web框架。當你掌握了HTML,CSS,JavaScript和服務器端腳本語言后,就應該找一個Web框架加快你的Web開發速度,使用框架可以節約你很多時間。', '2015203@126.com','2020-12-14'),(8, '詳細后端開發知識講解', '本片文章面向后端開發,講述后端在進行開發時所使用的WEB服務器的工作流程,正所謂知根知底,WEB服務器是后端開發人員日常用于調試WEB程序和與前端通訊的一種方式!WEB服務器最為強大的地方是能夠執行WEB程序,其WEB程序的編程語言并沒有明確的規定,因為只要你所使用的服務器支持這樣的程序就可以了!WEB服務器更像是一個平臺,在此平臺上編寫軟件我們稱其為WEB編程,注:WEB編程下有許多規范比如CGI,FastCGI等等,這個是要看服務器的支持范圍!不同服務器所使用的規范不同,比如JSP服務器只能運行由JAVA EE編寫的WEB程序,不能用于運行像C/C++、Python等編程語言編寫而成的WEB程序!通常情況下的WEB服務器所使用的編程規范均為CGI編程、只能運行CGI規范的程序,除了一些例外的WEB服務器,比如JSP服務器!CGI是Common Gateway Interface的縮寫,其意義為公用網關接口,意思可以理解為:在WEB服務器上運行一個程序或腳本,并且WEB服務器要將腳本執行結果返回給瀏覽器(客戶端)!規范的意思是,無論你使用任何語言編寫,都必須使用輸出函數(cout,printf,print)輸出HTML格式的數據信息,WEB服務器根據這些信息傳遞給瀏覽器,瀏覽器HTML樹并將其顯示到瀏覽器當中,即為一個WEB頁面!更加深層次的來說其實,無論你使用什么語言編寫,只要在WEB服務器中的配置文件中,使其支持CGI編程,然后將你編譯完成的二進制可執行文件后綴名改為.cgi,最后前端頁面在使用get或post方法請求這個WEB程序,WEB服務器會自動執行這程序并將其結果送回給瀏覽器(TCP/IP協議)!', '2015202@126.com','2020-12-15');
INSERT INTO `comment` (`commentNo`,`commentContent`, `adminMail`, `blogNo`, `commentDate`) VALUES (1, '寫得真好,棒!', '2015201@126.com', 1, '2020-12-12 12:20:20'), (2, '寫得不錯,可以一起交流學習。', '2015202@126.com', 2, '2020-12-12 12:21:20'), (3, '不錯不錯,解決了我的疑惑。', '2015102@126.com', 2, '2020-12-12 12:22:20'), (4, '文章寫得很好,棒!', '2015201@126.com', 3, '2020-12-12 12:20:20'), (5, '文筆不錯。', '2015102@126.com', 3, '2020-12-12 12:22:22'), (6, '可以可以,終于解決我的困惑了,感謝!', '201100@126.com', 4, '2020-12-12 12:20:20'), (7, '終于解決我的困惑了,感謝!', '2015100@126.com', 5, '2020-12-12 12:22:20'), (8, '解決我的困惑了,感謝!', '2015100@126.com', 1, '2020-12-12 12:21:21'), (9, '解決我的困惑了,感謝!', '2015100@126.com', 6, '2020-12-12 12:20:20'), (10, '解決我的困惑了,感謝!', '2015222@qq.com', 6, '2020-12-12 12:20:20'), (11, '解決我的困惑了,感謝!', '2015111@qq.com', 3, '2020-12-12 12:21:21'), (12, '超級管理員給你點贊!', 'super@126.com', 1, '2020-12-12 12:21:21'), (13, '解決我的困惑了,感謝!', '2015111@qq.com', 7, '2020-12-16 12:21:21'), (14, '超級管理員給你點贊!', 'super@126.com', 7, '2020-12-16 12:21:21'), (15, '超級管理員給你點贊!', 'super@126.com', 8, '2020-12-12 12:21:21'), (16, '解決我的困惑了,感謝!', '2015111@qq.com', 8, '2020-12-16 12:21:21'), (17, '寫得真好,棒!', '2015201@126.com', 8, '2020-12-12 12:20:20');

3、登錄驗證

當用戶在登錄頁面輸入賬號和密碼后點擊登錄時,會跳轉到下面的頁面進行驗證,其中用到session進行存儲賬號和密碼。

首先是判斷賬號密碼是否為空,接著是判斷賬號是否存在,密碼是否對應,若對應再判斷輸入的用戶是普通用戶還是管理員。

<?php
session_start();
?>
<meta name="viewport" charset="utf-8" content="width=device-width, initial-scale=1.0">
<?php
$admin = $_REQUEST['adminmail'];
$password = $_REQUEST['password'];

if ($admin == "" || $password == "") {
    echo '<script type="text/javascript">alert("用戶名密碼不能為空");location="signin.php";</script>';
    exit;
}
require_once "config.inc.php";
$demand = "select passWord,level,adminName from Admin where adminMail = '$admin'";
$res = mysqli_query($mysqli, $demand);
$power = mysqli_fetch_row($res);
$_SESSION["adminMail"]=$admin;
$_SESSION["passWord"]=$password;
$_SESSION["level"]=$power[1];
if ($power[0] == $password) {
    if ($power[1] == 'user') {
        $_SESSION["adminName"]=$power[2];
        header('location:user_index.php');
    } else if ($power[1] == 'super') {
        $_SESSION["adminName"]=$power[2];
        header('location:super_index.php');
    } else {
        echo '<script type="text/javascript">alert("未知錯誤,請聯系管理員");location="signin.php";</script>';
        exit;
    }
} else {
    echo '<script type="text/javascript">alert("用戶名或密碼錯誤,請重新登陸");location="signin.php";</script>';
}
mysqli_free_result($res);
mysqli_close($mysqli);

其中的require_once "config.inc.php";用于連接數據庫,代碼實現如下:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<?php
 $server="localhost";  //mysql服務器地址
 $user="root";         //登陸mysql的用戶名
 $pass="";   //登陸mysql的密碼
 $db_name="grblog";   //mysql中要操作的數據庫名

$mysqli=mysqli_connect($server,$user,$pass, $db_name);
  mysqli_query($mysqli,"SET NAMES 'utf8'");
?>

4、用戶注冊

首先判斷賬號密碼是否為空,接著判斷注冊賬號是否已經存在。

<?php
session_start();
?>
<meta name="viewport" charset="utf-8" content="width=device-width, initial-scale=1.0">
<?php
$admin = $_REQUEST['adminmail'];
$adminName = $_REQUEST['adminName'];
$password = $_REQUEST['password'];
$level = 'user';
if ($admin == "" || $password == "") {
    echo '<script type="text/javascript">alert("用戶名或密碼不能為空");location="signup.php";</script>';
    exit;
}
require_once "config.inc.php";
if (mysqli_connect_errno()) {
    die("Failed to connect to MySQL: (" . mysqli_connect_errno() . ") " . mysqli_connect_error());
}
$demand1 = "INSERT INTO admin values('$admin','$adminName','$password','$level')";
$res1 = mysqli_query($mysqli, $demand1);
if ($res1){
    $_SESSION['adminName'] = '';
    echo '<script type="text/javascript">alert("注冊成功!");location="signin.php";</script>';
}
else{
    echo '<script type="text/javascript">alert("該郵箱已注冊!");location="signup.php";</script>';
}

mysqli_free_result($res);
mysqli_free_result($res1);
mysqli_close($mysqli);

5、發表博客

首先判斷用戶是否已經登錄,其次判斷輸入的數據是否滿足格式需求(是否為空)

<?php
session_start();
?>
    <meta name="viewport" charset="utf-8" content="width=device-width, initial-scale=1.0">
<?php
if ($_SESSION["adminName"] != "") {
    $blogTopic = $_REQUEST['blogTopic']; //博客主題
    $adminMail = $_SESSION["adminMail"];
    $blogContent = $_REQUEST["blogcontent"];
    date_default_timezone_set('Asia/Shanghai');//設置為北京時間
    $blogDate = date("Y-m-d");//自動獲取時間(年月日)
    require_once "config.inc.php";

//插入BLOG信息命令
    $demand = "INSERT INTO `blog` (`blogTopic`, `blogContent`, `adminMail`, `importDate`) values('$blogTopic','$blogContent','$adminMail','$blogDate')";
    $res = mysqli_query($mysqli, $demand);
    if ($res) { //跳轉頁面
        mysqli_close($mysqli); //查詢已經結束,在這里關閉連接
        echo '<script>alert("博客發表成功");location="super_myblogs.php";</script>';
    } else {
        mysqli_close($mysqli);
        echo '<script>alert("博客發表失敗");location="super_insert_blog.php";</script>';
    }
}
else{
    echo '<script>alert("請先登錄!");location="signin.php";</script>';
}
?>

6、更新博客

這里是以普通用戶為例,首先判斷是否已經登錄 ,接著判斷是否具有更改博客的權限(非自己博客不能更改),最后判斷輸入的數據是否滿足格式需求(是否為空)

<?php
session_start();
?>
<meta name="viewport" charset="utf-8" content="width=device-width, initial-scale=1.0">
<?php
if ($_SESSION["adminName"] != "") {
    $blogTopic = $_REQUEST['blogTopic']; //博客主題
    $adminMail = $_SESSION["adminMail"];
    $blogContent = $_REQUEST["blogcontent"];
    $blogno = $_SESSION['no_blog'];
    require_once "config.inc.php";

    $demand = "select adminMail from blog where blogNo = '$blogno'";
    $res = mysqli_query($mysqli, $demand);
    $power = mysqli_fetch_row($res);
    $mail = $power[0];

    if ($mail == $adminMail){
        //插入BLOG信息命令
        $demand2 = "UPDATE `blog` SET `blogTopic` = '$blogTopic',`blogContent` = '$blogContent' WHERE `blog`.`blogNo` ='$blogno'";
        $res2 = mysqli_query($mysqli, $demand2);
        if ($res2) { //跳轉頁面
            mysqli_close($mysqli); //查詢已經結束,在這里關閉連接
            echo '<script>alert("博客修改成功");location="user_index.php";</script>';
        } else {
            mysqli_close($mysqli);
            echo '<script>alert("博客修改失敗");location="user_update_blog.php";</script>';
        }
    }else{
        echo '<script>alert("無權限!");location="user_index.php";</script>';
    }


} else {
    echo '<script>alert("請先登錄!");location="signin.php";</script>';
}
?>

7、刪除博客

這里普通用戶和管理員的代碼時基本一樣的,首先判斷是否登錄,接著判斷是否為普通用戶,若是,則判斷要刪除的博客是否為自己的博客,若為管理員,則無需判斷是否為自己的博客。

<?php
session_start();
?>
<meta name="viewport" charset="utf-8" content="width=device-width, initial-scale=1.0">
<?php
if ($_SESSION["adminName"] != "") {
    require_once "config.inc.php";
    $level = $_SESSION["level"];
    $mail_blog = $_SESSION['mail_blog'];
    $adminMail = $_SESSION["adminMail"];
    $no_blog = $_SESSION['no_blog'];

    if ($level == 'user') {
        if ($adminMail != $mail_blog) {
            echo '<script>alert("無權限!");location="user_index.php";</script>';
        } else {
            $demand = "delete from blog where blogNo = '$no_blog'";
            $res = mysqli_query($mysqli, $demand);
            if ($res) { //跳轉頁面
                mysqli_close($mysqli);
                echo '<script>alert("刪除博客成功");location="user_index.php";</script>';
            } else {
                mysqli_close($mysqli);
                echo '<script>alert("刪除博客失敗");location="user_index.php";</script>';
            }
        }
    } else {
        $demand = "delete from blog where blogNo = '$no_blog'";
        $res = mysqli_query($mysqli, $demand);
        if ($res) { //跳轉頁面
            mysqli_close($mysqli);
            echo '<script>alert("刪除博客成功");location="super_index.php";</script>';
        } else {
            mysqli_close($mysqli);
            echo '<script>alert("刪除博客失敗");location="super_index.php";</script>';
        }
    }
} else {
    echo '<script>alert("請先登錄!");location="signin.php";</script>';
}
?>

8、發表評論

注意評論不能為空。

<?php
session_start();
?>
<meta name="viewport" charset="utf-8" content="width=device-width, initial-scale=1.0">
<?php
if ($_SESSION["adminName"] != ""){
    require_once "config.inc.php";
    $email = $_SESSION['adminMail'];//用戶名
    $blogNo = $_SESSION['no_blog'];//博客號
    $new_comment =$_REQUEST['new_comment'];//新評論
    date_default_timezone_set('Asia/Shanghai');//設置為北京時間
    $commentDate=date('Y-m-d H:i:s');//自動獲取時間(年月日時間)
    $demand = "INSERT INTO `comment` (`commentContent`, `adminMail`, `blogNo`, `commentDate`) values('$new_comment','$email',$blogNo,'$commentDate')";
    $insertComment = mysqli_query($mysqli,$demand);
    if ($insertComment){
        echo '<script>alert("發表成功");location="user_index.php";</script>';
    }
    else{
        echo '<script>alert("輸入錯誤!");location="user_index.php";</script>';
    }
}
else{
    echo '<script>alert("請先登錄!");location="signin.php";</script>';
}
?>

9、修改密碼

首先判斷是否已經登錄,接著判斷新密碼和第二次輸入的新密碼是否一致,再判斷原密碼是否正確。

<?php
session_start();
?>
<meta name="viewport" charset="utf-8" content="width=device-width, initial-scale=1.0">
<?php
if ($_SESSION["adminName"] != "") {
    require_once "config.inc.php";
    $email = $_SESSION['adminMail'];//用戶名
    $real_pwd = $_SESSION['passWord'];//真實密碼
    $past_pwd = $_REQUEST['past_pwd'];//原密碼
    $new_pwd = $_REQUEST['new_pwd'];//新密碼
    $pwd = $_REQUEST['new_pwd_2'];//第二次新密碼
    if ($new_pwd == $pwd) {
        if ($real_pwd == $past_pwd) {
            $sql = "update admin set password = '$pwd' where adminMail='$email'";
            $updatepwd = mysqli_query($mysqli, $sql);
            if ($updatepwd) {
                echo '<script>alert("密碼修改成功,請重新登錄");location="signin.php";</script>';
            } else {
                echo '<script>alert("未知錯誤!");location="user_update_pwd.php";</script>';
            }
        } else {
            echo '<script>alert("原密碼輸入錯誤!");location="user_update_pwd.php";</script>';
        }

    } else {
        echo '<script>alert("兩次密碼輸入不相同!");location="user_update_pwd.php";</script>';
    }
} else {
    echo '<script>alert("請先登錄!");location="signin.php";</script>';
}
?>

10、修改昵稱

<?php
session_start();
?>
<meta name="viewport" charset="utf-8" content="width=device-width, initial-scale=1.0">
<?php
if ($_SESSION["adminName"] != "") {
    require_once "config.inc.php";
    $email = $_SESSION['adminMail'];//用戶名
    $new_name = $_REQUEST['new_name'];//新昵稱
    $sql = "update admin set adminName = '$new_name' where adminMail='$email'";
    $updatename = mysqli_query($mysqli, $sql);
    if ($updatename) {
        $_SESSION["adminName"] = $new_name;
        echo '<script>alert("昵稱修改成功");location="user_index.php";</script>';
    } else {
        echo '<script>alert("輸入錯誤!");location="user_update_name.php";</script>';
    }
} else {
    echo '<script>alert("請先登錄!");location="signin.php";</script>';
}
?>

11、管理員刪除用戶

需要注意的是,刪除用戶的同時會刪除有關他的所有信息,包括他發表的博客和評論。

<?php
session_start();
?>
<meta name="viewport" charset="utf-8" content="width=device-width, initial-scale=1.0">
<?php
if ($_SESSION["adminName"] != "") {
    require_once "config.inc.php";
    $admai = $_GET['delete_mail'];
    $sql = "delete from admin where adminMail='$admai'";
    $delete = mysqli_query($mysqli, $sql);

    $sql2 = "delete from blog where adminMail='$admai'";
    $delete2 = mysqli_query($mysqli, $sql2);
    $sql3 = "delete from comment where adminMail='$admai'";
    $delete2 = mysqli_query($mysqli, $sql3);
    echo '<script>alert("刪除成功");location="super_user.php";</script>';

} else {
    echo '<script>alert("請先登錄!");location="signin.php";</script>';
}
?>

四、運行環境

APMServ 5.2.6 for Windows 2000/XP/2003

五、運行說明

1、以管理員身份運行APMServ,啟動服務器,點擊管理MySQL數據庫;

2、將數據庫設計源碼(.sql文件)中的數據導入數據庫當中;

3、最后點擊訪問用戶本地網站,找到我們解壓后的源代碼的目錄并點擊(記得事先將項目文件放到APMServ5.2.6\www\htdocs目錄下);

4、找到signin.php文件并點擊即可進入登錄頁面;

5、若想體驗登錄后的功能,可以點擊用戶中心下的登錄并輸入賬號密碼即可。

(如輸入普通用戶賬號:2015100@126.com 密碼:pwdpwd;

或者管理員賬號:super@126.com 密碼:superpwd)

以上就是關于“基于PHP怎么實現個人博客網站”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

南华县| 区。| 万年县| 宜阳县| 凤冈县| 鹤峰县| 建始县| 河北省| 卓尼县| 湖南省| 汉沽区| 稻城县| 扶绥县| 英德市| 阜平县| 丹棱县| 逊克县| 镇坪县| 凤庆县| 堆龙德庆县| 台江县| 乌鲁木齐市| 涿州市| 昭平县| 侯马市| 黎平县| 图木舒克市| 静海县| 云阳县| 东丽区| 喀喇| 蒲江县| 邮箱| 阳东县| 巫溪县| 呼伦贝尔市| 武夷山市| 平安县| 泰安市| 集贤县| 修文县|