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

PHP 實作純文字留言板(含新增、顯示、刪除功能)

     編輯:PHP 綜合知識

本範例示範使用文字檔(liuyan.txt)作為儲存媒介,實作簡易留言板,包含 新增留言、顯示列表、刪除留言 三大功能,並採用共用 menu.php 做導覽列。

檔案架構

  • index.php:留言輸入表單
  • doAdd.php:處理新增留言
  • show.php:顯示所有留言
  • del.php:刪除指定留言
  • menu.php:共用導覽列
  • liuyan.txt:資料儲存檔

核心程式碼片段

menu.php(導覽列)

<h2 style="color:blue">我的留言板</h2>
<a href="index.php">新增留言</a>
<a href="show.php">查看留言</a>
<hr width="90%"/>

index.php(輸入表單)

<form action="doAdd.php" method="post">
  <table>
    <tr><td align="right">標題:</td><td><input type="text" name="title"/></td></tr>
    <tr><td align="right">留言者:</td><td><input type="text" name="author"/></td></tr>
    <tr><td align="right" valign="top">內容:</td><td><textarea name="content" rows="5" cols="30"></textarea></td></tr>
    <tr><td colspan="2" align="center"><input type="submit" value="送出"> <input type="reset" value="重置"></td></tr>
  </table>
</form>

doAdd.php(寫入檔案)

$title = $_POST["title"];
$author = $_POST["author"];
$content = $_POST["content"];
$time = time();
$ip = $_SERVER["REMOTE_ADDR"];
$ly = "{$title}##{$author}##{$content}##{$time}##{$ip}@@@";
$ly .= file_get_contents("liuyan.txt");
file_put_contents("liuyan.txt", $ly);

show.php(讀取並顯示)

$info = file_get_contents("liuyan.txt");
if ($info) {
    $info = rtrim($info, "@");
    $lylist = explode("@@@", $info);
    foreach ($lylist as $key => $v) {
        $ly = explode("##", $v);
        echo "<tr>";
        echo "<td align='center'>{$ly[0]}</td>";
        echo "<td align='center'>{$ly[1]}</td>";
        echo "<td align='center'>{$ly[2]}</td>";
        echo "<td>".date("Y-m-d H:i:s", $ly[3]+8*3600)."</td>";
        echo "<td>{$ly[4]}</td>";
        echo "<td><a href='del.php?id={$key}'>刪除</a></td>";
        echo "</tr>";
    }
}

del.php(刪除指定行)

$id = $_GET["id"];
$info = file_get_contents("liuyan.txt");
$lylist = explode("@@@", $info);
unset($lylist[$id]);
$ninfo = implode("@@@", $lylist);
file_put_contents("liuyan.txt", $ninfo);

資料格式說明

每筆留言以 @@@ 分隔,欄位間以 ## 分隔:
標題##作者##內容##時間戳##IP@@@

安全性與改進建議

  • 實務上建議改用資料庫(MySQL/SQLite)避免並發寫入衝突
  • 輸出留言內容前請做 htmlspecialchars() 防 XSS
  • 刪除功能需加入 CSRF 驗證與權限檢查
  • 大量資料時應加入分頁機制

此範例適合入門理解 PHP 檔案讀寫與基本 CRUD 邏輯。

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