diff --git a/课堂代码/01-blog开发/v3/article.php b/课堂代码/01-blog开发/v3/article.php new file mode 100644 index 0000000..f608a45 --- /dev/null +++ b/课堂代码/01-blog开发/v3/article.php @@ -0,0 +1,1102 @@ + + + + + location.href='index.php';"; + exit; + } + ?> + + + <?php echo $row["title"]; ?> — 许老师的小站 + + + + + 0) { + $nick = $_POST["nick"]; + $email = $_POST["email"]; + $content = $_POST["content"]; + $time = date("Y-m-d H:i:s"); + $sql = "INSERT INTO comments (article_id, nick, email, content, time) VALUES ($article_id, '$nick', '$email', '$content', '$time')"; + $result = mysqli_query($conn, $sql); + if ($result) { + echo ""; + } else { + echo ""; + } + } + ?> + +
+ + +
+
+
+
+ + + + + +
+ +
+ + +

+ + +
+ + +
+
+
+ + + + + + +
+
+

💬 评论

+ +
+ + +
+
+
+
+ + +
+
+ + +
+
+
+ + +
+ +
+
+ + +
+ +
+
+
+
+ + + +
+

+
+
+ + + +
+
+ + + +
+ + + + + \ No newline at end of file diff --git a/课堂代码/01-blog开发/v3/article_add.php b/课堂代码/01-blog开发/v3/article_add.php new file mode 100644 index 0000000..19751ea --- /dev/null +++ b/课堂代码/01-blog开发/v3/article_add.php @@ -0,0 +1,65 @@ + + + alert('文章添加成功');location.href='articles_list.php'"; + } else { + echo "Error: " . $sql . "
" . $conn->error; + } + } + + ?> + +
+ + +
+
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + 返回文章列表 +
+
+
+
+ + + diff --git a/课堂代码/01-blog开发/v3/article_edit.php b/课堂代码/01-blog开发/v3/article_edit.php new file mode 100644 index 0000000..bbb4079 --- /dev/null +++ b/课堂代码/01-blog开发/v3/article_edit.php @@ -0,0 +1,73 @@ + + + alert('文章添加成功');location.href='articles_list.php'"; + } else { + echo "Error: " . $sql . "
" . $conn->error; + } + } + + ?> + +
+ + +
+
+
+ + " required> +
+ +
+ + " required> +
+ +
+ + +
+ +
+ + 返回文章列表 +
+
+
+
+ + + diff --git a/课堂代码/01-blog开发/v3/articles_list.php b/课堂代码/01-blog开发/v3/articles_list.php new file mode 100644 index 0000000..84aa9f5 --- /dev/null +++ b/课堂代码/01-blog开发/v3/articles_list.php @@ -0,0 +1,73 @@ + + +
+ + +
+ + + + + + + + + + + + alert('文章删除成功');location.href='articles_list.php'"; + } else { + echo "Error: " . $sql . "
" . $conn->error; + } + } + + // 查询所有文章 + $sql = "select * from articles"; + $result = mysqli_query($conn, $sql); + while ($row = mysqli_fetch_assoc($result)) { + // 标题超过10个字,就加省略号 + $title = strlen($row["title"]) > 45 ? substr($row["title"], 0, 45) . "..." : $row["title"]; + ?> + + + + + + + + + +
序号标题作者发布时间操作
+ +
+
+
+ + diff --git a/课堂代码/01-blog开发/v3/comment_list.php b/课堂代码/01-blog开发/v3/comment_list.php new file mode 100644 index 0000000..398f4c0 --- /dev/null +++ b/课堂代码/01-blog开发/v3/comment_list.php @@ -0,0 +1,73 @@ + + +
+ + +
+ + + + + + + + + + + + + location.href='comment_list.php'"; + } else { + echo "Error: " . $sql . "
" . $conn->error; + } + } + + // 查询所有评论 + $sql = "select * from comments order by id desc"; + $result = mysqli_query($conn, $sql); + while ($row = mysqli_fetch_assoc($result)) { + $sql = "select * from articles where id = '". $row['article_id']. "'"; + $article_result = mysqli_query($conn, $sql); + $article_row = mysqli_fetch_assoc($article_result); + $article_title = $article_row["title"]; + + ?> + + + + + + + + + + +
序号文章昵称发布时间内容操作
+ +
+
+
+ + diff --git a/课堂代码/01-blog开发/v3/db.php b/课堂代码/01-blog开发/v3/db.php new file mode 100644 index 0000000..8e98cb5 --- /dev/null +++ b/课堂代码/01-blog开发/v3/db.php @@ -0,0 +1,16 @@ + + + + + + alert('请先登录');location.href='login.php'"; + exit; + } + $page = isset($page) ? $page : ''; + $pageTitle = isset($pageTitle) ? $pageTitle : '网站后台管理'; + + if (isset($_GET["logout"])) { + session_destroy(); + echo ""; + } + ?> + + <?php echo $pageTitle; ?> + + + + +
+

网站后台管理

+
+ 欢迎回来 +
+
+
+ + \ No newline at end of file diff --git a/课堂代码/01-blog开发/v3/images/avatar/2026042515340236840.jpg b/课堂代码/01-blog开发/v3/images/avatar/2026042515340236840.jpg new file mode 100644 index 0000000..622b0cf Binary files /dev/null and b/课堂代码/01-blog开发/v3/images/avatar/2026042515340236840.jpg differ diff --git a/课堂代码/01-blog开发/v3/images/avatar/2026042515374976790.png b/课堂代码/01-blog开发/v3/images/avatar/2026042515374976790.png new file mode 100644 index 0000000..8dc553c Binary files /dev/null and b/课堂代码/01-blog开发/v3/images/avatar/2026042515374976790.png differ diff --git a/课堂代码/01-blog开发/v3/images/avatar/2026042515413160538.jpg b/课堂代码/01-blog开发/v3/images/avatar/2026042515413160538.jpg new file mode 100644 index 0000000..622b0cf Binary files /dev/null and b/课堂代码/01-blog开发/v3/images/avatar/2026042515413160538.jpg differ diff --git a/课堂代码/01-blog开发/v3/images/avatar/default.jpg b/课堂代码/01-blog开发/v3/images/avatar/default.jpg new file mode 100644 index 0000000..a0a73c0 Binary files /dev/null and b/课堂代码/01-blog开发/v3/images/avatar/default.jpg differ diff --git a/课堂代码/01-blog开发/v3/index.php b/课堂代码/01-blog开发/v3/index.php new file mode 100644 index 0000000..8eb5cfd --- /dev/null +++ b/课堂代码/01-blog开发/v3/index.php @@ -0,0 +1,719 @@ + + + + + + 许老师的小站 — 笔记与随笔 + + + + +
+
+
+
+
+ + + + + +
+
+ + 笔记与随笔 +
+

+ 记录思考, + 沉淀成长 +

+

+ 在这里,每一次敲击键盘都是一次思维的碰撞,每一篇文章都是对知识的重新梳理。 +

+
+ + 探索文章 + + + 后台管理 +
+ + 向下滚动 +
+
+
+ + +
+
+

+
📝
+ 全部文章 +

+ + +
+ +
+ +
🙃
+

暂无文章

+

点击右上角「后台管理」添加你的第一篇文章吧

+
'; + } + + while ($row = mysqli_fetch_assoc($result)) { + $excerpt = mb_substr(strip_tags($row["content"]), 0, 80, 'utf-8'); + if (mb_strlen(strip_tags($row["content"]), 'utf-8') > 80) $excerpt .= '…'; + $authorInitial = mb_substr($row["author"], 0, 1, 'utf-8'); + ?> + " class="article-card"> +
+ 📄 笔记 + +
+

+

+ +
+ + +
+ + + + + + + diff --git a/课堂代码/01-blog开发/v3/login.php b/课堂代码/01-blog开发/v3/login.php new file mode 100644 index 0000000..d5e0f5f --- /dev/null +++ b/课堂代码/01-blog开发/v3/login.php @@ -0,0 +1,415 @@ + + + + + + + 欢迎登录 + + + + + +
+
+
+ +
+
+

欢迎登录

+

请输入您的账号信息

+
+ +
+ + +
+ + 👤 +
+ +
+ + 🔒 +
+ +
+ + 忘记密码? +
+ + +
+ + + +
+ + + \ No newline at end of file diff --git a/课堂代码/01-blog开发/v3/main.php b/课堂代码/01-blog开发/v3/main.php new file mode 100644 index 0000000..352a2e3 --- /dev/null +++ b/课堂代码/01-blog开发/v3/main.php @@ -0,0 +1,87 @@ + + +
+
+

仪表盘

+

实时监控网站运行状态

+
+ + +
+
+
👥
+
今日访客
+
1000
+
+
+
💾
+
服务内存占用
+
%
+
+
+
⚙️
+
服务器 CPU 占用
+
%
+
+
+
🌐
+
站点名称
+
许老师的小站
+
+
+ +
+

快速信息

+
+
+
🏠
+
+

站点状态

+

运行正常

+
+
+
+
🕐
+
+

系统时间

+

加载中...

+
+
+
+
📅
+
+

系统日期

+

加载中...

+
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/课堂代码/01-blog开发/v3/register.php b/课堂代码/01-blog开发/v3/register.php new file mode 100644 index 0000000..3e007a3 --- /dev/null +++ b/课堂代码/01-blog开发/v3/register.php @@ -0,0 +1,416 @@ + + + + + + + 欢迎注册 + + + + + +
+
+
+ +
+
+

欢迎注册

+

请创建您的账号信息

+
+ +
+ + +
+ + 👤 +
+ +
+ + 🔒 +
+ +
+ + 🔒 +
+ +
+ + 📧 +
+ + +
+ + + +
+ + + \ No newline at end of file diff --git a/课堂代码/01-blog开发/v3/test.php b/课堂代码/01-blog开发/v3/test.php new file mode 100644 index 0000000..2007bf6 --- /dev/null +++ b/课堂代码/01-blog开发/v3/test.php @@ -0,0 +1,29 @@ +" . $row["username"] . ":" . $row["email"] . ":" . $row["password"] . "

"; +} \ No newline at end of file diff --git a/课堂代码/01-blog开发/v3/user_add.php b/课堂代码/01-blog开发/v3/user_add.php new file mode 100644 index 0000000..53274dc --- /dev/null +++ b/课堂代码/01-blog开发/v3/user_add.php @@ -0,0 +1,54 @@ + + + + +
+ + +
+
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + 取消 +
+
+
+
+ + diff --git a/课堂代码/01-blog开发/v3/user_avatar.php b/课堂代码/01-blog开发/v3/user_avatar.php new file mode 100644 index 0000000..deb63b2 --- /dev/null +++ b/课堂代码/01-blog开发/v3/user_avatar.php @@ -0,0 +1,136 @@ + + + 0) { + // php传图片会默认放在临时目录下,在程序执行结束后就会自动删除 + // php上传图片,本质上就是从临时目录中将文件及时移动到指定目录下 + // 先获取图片的格式 + $ext = pathinfo($_FILES["avatar"]["name"], PATHINFO_EXTENSION); + $img_path = "images/avatar/" . date("YmdHis") . mt_rand(10000, 99999) . "." . $ext; + move_uploaded_file($_FILES["avatar"]["tmp_name"], $img_path); + + // 写入数据库中 + $id = $_GET["id"]; + $sql = "UPDATE users SET avatar = '$img_path' WHERE id = $id"; + if (mysqli_query($conn, $sql) === TRUE) { + echo ""; + } else { + echo "Error: " . $sql . "
" . $conn->error; + } +} +// 获取当前的头像 +$sql = "select * from users where id = '" . $_GET["id"] . "'"; +$result = mysqli_query($conn, $sql); +$row = mysqli_fetch_assoc($result); +$avatar = $row["avatar"]; +?> + +
+ + +
+
+
+

当前头像

+
+ + 当前头像 + +
👤
+ +
+
+
+ +
+
+ +
+ +
+

支持 JPG、PNG、GIF 格式,文件大小不超过 2MB

+
+
+ + 取消 +
+
+
+
+ + + + diff --git a/课堂代码/01-blog开发/v3/user_edit.php b/课堂代码/01-blog开发/v3/user_edit.php new file mode 100644 index 0000000..a8dfeb9 --- /dev/null +++ b/课堂代码/01-blog开发/v3/user_edit.php @@ -0,0 +1,56 @@ + + + + +
+ + +
+
+ " name="id"> +
+ + "> +
+ +
+ + +

密码留空则不修改

+
+ +
+ + +
+ +
+ + "> +
+ +
+ + 取消 +
+
+
+
+ + diff --git a/课堂代码/01-blog开发/v3/users.php b/课堂代码/01-blog开发/v3/users.php new file mode 100644 index 0000000..2334bae --- /dev/null +++ b/课堂代码/01-blog开发/v3/users.php @@ -0,0 +1,116 @@ + 0) { + $_SESSION["username"] = $username; + echo ""; + } else { + echo ""; + } + +} else if (isset($_REQUEST["register"]) or isset( $_REQUEST["add"])) { + // 从前端获取用户名,以及两次密码输入,以及邮箱 + $username = $_REQUEST["username"]; + $password = $_REQUEST["password"]; + $password2 = $_REQUEST["password2"]; + $email = $_REQUEST["email"]; + + // 判断两次密码是否一致 + if ($password != $password2) { + echo "两次密码不一致"; + exit; + } + + // 判断用户名或邮箱是否已存在 + $sql = "select * from users where username='$username' or email='$email'"; + $result = mysqli_query($conn, $sql); + if (mysqli_num_rows($result) > 0) { + echo "用户名或邮箱已存在"; + exit; + } + + // 写sql语句,插入一条新的用户记录 + $sql = "insert into users(username, password, email) values('$username', '$password', '$email')"; + $result = mysqli_query($conn, $sql); + + // 插入成功后,返回注册成功信息 + if ($result) { + if(isset($_REQUEST["add"])) { + echo ""; + } else { + echo ""; + } + } else { + if(isset($_REQUEST["add"])) { + echo ""; + } else { + echo ""; + } + } +} else if (isset($_REQUEST["change"])) { + // 修改用户信息的操作 + $userid = $_REQUEST["id"]; + $username = $_REQUEST["username"]; + $email = $_REQUEST["email"]; + + // 判断是否需要修改密码,判断密码的长度 + if (strlen($_REQUEST["password"]) > 0) { + $password = $_REQUEST["password"]; + $password2 = $_REQUEST["password2"]; + if ($password != $password2) { + echo ""; + exit; + } + // 更新用户名,密码,邮箱 + // 存在逻辑漏洞,没有判断用户名是否存在,可以修改别人的用户名 + $sql = "update users set username='$username', password='$password', email='$email' where id='$userid'"; + $result = mysqli_query($conn, $sql); + if ($result) { + echo ""; + } else { + echo ""; + } + } else { + // 更新用户名和邮箱 + $sql = "update users set username='$username', email='$email' where id='$userid'"; + $result = mysqli_query($conn, $sql); + if ($result) { + echo ""; + } else { + echo ""; + } + } +} else if (isset($_REQUEST["del"])) { + // 删除用户 + $userid = $_REQUEST["id"]; + $sql = "delete from users where id='$userid'"; + $result = mysqli_query($conn, $sql); + if ($result) { + echo ""; + } else { + echo ""; + } +} else { + echo "错误操作"; +} + + +?> \ No newline at end of file diff --git a/课堂代码/01-blog开发/v3/users_list.php b/课堂代码/01-blog开发/v3/users_list.php new file mode 100644 index 0000000..51d1816 --- /dev/null +++ b/课堂代码/01-blog开发/v3/users_list.php @@ -0,0 +1,181 @@ + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + +
ID用户名密码邮箱操作
+ + + + + " alt="头像"> + +
👤
+ +
+
+
+ +
+
+
+ + + +