インターネットの普及に伴い、Web サイトの掲示板は多くの Web サイトにとって必須の機能になりました。メッセージ ボードを実装するにはさまざまな方法がありますが、最も一般的な方法の 1 つは PHP を使用することです。この記事ではPHPを使って掲示板機能を実装する方法を紹介します。
1. フロントエンド ページのデザイン
メッセージ ボードを実装する前に、最初にフロントエンド ページをデザインする必要があります。一般的な掲示板ページには、通常、次の部分が含まれています:
1. メッセージ入力ボックス: メッセージの内容を入力するために使用されます。
2. メッセージ リスト: 既存のメッセージを表示するために使用されます。
3. メッセージ送信ボタン: メッセージを送信するために使用されます。
上記の要件に基づいて、次のコードを使用してメッセージ ボード HTML ページをデザインできます。
<!DOCTYPE html> <html> <head> <title>留言板</title> </head> <body> <h1>留言板</h1> <!-- 留言输入框 --> <form action="save_message.php" method="post"> <label for="name">姓名:</label> <input type="text" id="name" name="name"><br> <label for="message">留言内容:</label> <textarea id="message" name="message" rows="5" cols="50"></textarea><br> <input type="submit" value="提交留言"> </form> <hr> <!-- 留言列表 --> <h2>留言列表</h2> <?php // TODO: 展示留言列表 ?> </body> </html>
その中で、フォームの action
属性は、 save_message.php
ファイル。このファイルは、送信されたメッセージの受け付けとメッセージの一覧を表示する機能を実装します。
2. メッセージを保存します
次に、メッセージ ボードの HTML ページからデータを受け入れて保存するために、save_message.php
ファイルのロジックを実装する必要があります。データベース。具体的な手順は次のとおりです:
1. MySQL データベースの作成
MySQL データベースで、guestbook
という名前のデータベースと # という名前のデータベースを作成する必要があります。 ##messages テーブルはメッセージを保存するために使用されます。テーブルの構造は次のとおりです:
CREATE TABLE `messages` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `message` text NOT NULL, `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
save_message.php ファイルのコードを記述します。このファイルは次のタスクを完了する必要があります:
テーブルに保存します。
<?php // 从表单中接收数据 $name = $_POST['name']; $message = $_POST['message']; // 连接数据库 $dsn = 'mysql:host=localhost;dbname=guestbook'; $username = 'root'; $password = ''; $db = new PDO($dsn, $username, $password); // 插入留言 $sql = "INSERT INTO messages (name, message) VALUES (:name, :message)"; $stmt = $db->prepare($sql); $stmt->bindParam(':name', $name); $stmt->bindParam(':message', $message); $stmt->execute(); // 输出提示信息 echo '留言保存成功!';
<!DOCTYPE html> <html> <head> <title>留言板</title> </head> <body> <h1>留言板</h1> <!-- 留言输入框 --> <form action="save_message.php" method="post"> <label for="name">姓名:</label> <input type="text" id="name" name="name"><br> <label for="message">留言内容:</label> <textarea id="message" name="message" rows="5" cols="50"></textarea><br> <input type="submit" value="提交留言"> </form> <hr> <!-- 留言列表 --> <h2>留言列表</h2> <?php // 连接数据库 $dsn = 'mysql:host=localhost;dbname=guestbook'; $username = 'root'; $password = ''; $db = new PDO($dsn, $username, $password); // 查询留言 $sql = "SELECT * FROM messages ORDER BY created_at DESC"; $stmt = $db->query($sql); $messages = $stmt->fetchAll(); // 展示留言 foreach ($messages as $message) { echo "<p><strong>{$message['name']}:</strong>{$message['message']}</p>"; } ?> </body> </html>
messages テーブル内のすべてのメッセージをクエリします。時間順に並べ替えます。最後に、すべてのメッセージをループで表示します。
以上がPHPで掲示板機能を実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。