今回は、PHPで掲示板の基本的な作り方を解説します。
掲示板にはいくつかの基本機能があります。以下の機能を実装することで、シンプルな掲示板を作成できます。
利用者がメッセージを投稿できる機能です。フォームからデータを受け取り、データベースに保存します。
投稿されたメッセージを一覧で表示する機能です。データベースから取得した投稿内容を画面に表示します。
投稿されたメッセージを削除できる機能です。削除ボタンを押すことで、特定のメッセージをデータベースから削除します。
掲示板を作成するための開発環境を整えます。以下のツールを準備しましょう。
掲示板では、投稿内容を保存するためのデータベースが必要です。以下のSQLを実行して、テーブルを作成しましょう。
CREATE TABLE posts ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50), message TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
基本的な掲示板の機能を実装するためのPHPコードを解説します。
メッセージを投稿するためのフォームと、そのデータを処理するPHPコードを作成します。
<?php if ($_SERVER['REQUEST_METHOD'] === 'POST') { $username = $_POST['username']; $message = $_POST['message']; $pdo = new PDO('mysql:host=localhost;dbname=your_db_name;charset=utf8', 'your_username', 'your_password'); $stmt = $pdo->prepare('INSERT INTO posts (username, message) VALUES (?, ?)'); $stmt->execute([$username, $message]); } ?> <form method="POST"> <input type="text" name="username" placeholder="あなたの名前" required> <textarea name="message" placeholder="メッセージ" required></textarea> <button type="submit">投稿する</button> </form>
投稿されたメッセージをデータベースから取得して表示するコードを追加します。
<?php $pdo = new PDO('mysql:host=localhost;dbname=your_db_name;charset=utf8', 'your_username', 'your_password'); $stmt = $pdo->query('SELECT * FROM posts ORDER BY created_at DESC'); $posts = $stmt->fetchAll(PDO::FETCH_ASSOC); ?> <?php foreach ($posts as $post): ?> <p><strong><?= htmlspecialchars($post['username']) ?></strong>: <?= htmlspecialchars($post['message']) ?></p> <?php endforeach; ?>