首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

從零開始打造 PHP+MySQL 留言本:核心功能完整實作

     編輯:PHP 相關知識

專案目標

實現最精簡的留言本核心流程:用戶發布留言 → 寫入資料庫 → 前台顯示所有留言。暫不處理分頁、跳轉等進階功能,專注於核心邏輯。

資料庫設計

CREATE DATABASE guest_book;

CREATE TABLE `contents` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL DEFAULT 'no name',
  `content` mediumtext NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6;

三個頁面架構

檔案功能
post.htm留言提交表單(HTML)
updata.php接收表單資料、寫入資料庫
index.php讀取資料庫、顯示所有留言

核心代碼解析

1. post.htm - 提交表單

<form action="updata.php" method="post">
  姓名: <input type="text" name="user_name"><br>
  留言: <textarea name="post_contents" rows="10" cols="50"></textarea><br>
  <input type="submit" value="送出">
</form>

2. updata.php - 寫入資料庫

<?php
$name = $_POST['user_name'];
$content = $_POST['post_contents'];

$conn = mysql_connect("localhost:6033", "root", "");
mysql_query("SET NAMES utf8");           // 解決中文亂碼
mysql_select_db("guest_book");

$sql = "INSERT INTO contents (name, content) VALUES ('$name', '$content')";
mysql_query($sql);
?>

關鍵點:

  • 連線埠號 6033 需對應 phpMyAdmin 顯示的實際埠口
  • SET NAMES utf8 必須在查詢前執行,防止儲存/讀取亂碼
  • 安全隱患:直接拼接變數導致 SQL 注入,實務請用 mysql_real_escape_string 或預處理

3. index.php - 顯示留言

<?php
$conn = mysql_connect("localhost:6033", "root", "");
mysql_select_db("guest_book");
mysql_query("SET NAMES utf8");

$sql = "SELECT * FROM contents";
$result = mysql_query($sql);

while ($rs = mysql_fetch_object($result)) {
    echo "<table><tr><td>姓名: {$rs->name}</td></tr>";
    echo "<tr><td>留言: {$rs->content}</td></tr></table><br/>";
}
?>

常見坑點總結

  1. 主機名/埠號:不可死記 127.0.0.1,請在 phpMyAdmin 首頁確認「伺服器主機名」與「埠號」
  2. 字元編碼:資料庫建表 CHARSET=utf8、連線 SET NAMES utf8、HTML <meta charset="utf-8"> 三者一致
  3. 錯誤不顯示:開發階段建議開啟 error_reporting(E_ALL); ini_set('display_errors', 1);

現代化改造建議

  • 改用 PDO + 預處理語句 防注入
  • 採用 password_hash() 若未來加入用戶系統
  • 引入 htmlspecialchars() 輸出轉義防 XSS
  • 使用 Composer 管理依賴,建立簡單 MVC 結構

結語

這個「麻雀雖小」的留言本包含了 Web 開發最基礎的「表單 → 處理 → 存儲 → 讀取 → 顯示」完整閉環。掌握這套流程,再學習框架、ORM、API 開發就有了堅實的地基。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved