PHPで掲示板機能を実装

王林
リリース: 2023-06-22 17:20:01
オリジナル
4105 人が閲覧しました

インターネットの普及に伴い、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;
ログイン後にコピー

2. PHP コードの記述

次に、

save_message.php ファイルのコードを記述します。このファイルは次のタスクを完了する必要があります:

    フォームからユーザー名とメッセージの内容を受信します。
  • これらのデータを MySQL データベースの
  • messages テーブルに保存します。
  • 保存が成功したことを示すプロンプト メッセージを表示します。
コードは次のとおりです:

<?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 '留言保存成功!';
ログイン後にコピー

3. メッセージ リストを表示します

これで、メッセージ ボードの HTML ページのデータを MySQL に保存できます。データベース。次に、既存のメッセージのコンテンツを表示するように HTML ページを変更する必要があります。

変更された 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
        // 连接数据库
        $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>
ログイン後にコピー
このコードでは、まず MySQL データベースに接続し、次に

messages テーブル内のすべてのメッセージをクエリします。時間順に並べ替えます。最後に、すべてのメッセージをループで表示します。

まとめると、PHPを使って掲示板機能を実装することはそれほど難しくなく、その効果は大きいです。この記事がPHP初心者の方のお役に立てれば幸いです。

以上がPHPで掲示板機能を実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!