インターネットの徐々に普及が進むにつれて、Web サイトは人々が情報を入手し、通信し、娯楽を行うための主要な方法の 1 つになりました。 Web サイト上の共通コミュニケーション ツールの 1 つとして、掲示板は Web サイトに欠かせない部分になっています。この記事では、PHPを使用して変更可能な掲示板を作成する方法を紹介します。
1. 環境設定
掲示板を作成するには、まず環境を設定する必要があります。ここでは、XAMPPを使用してローカルサーバー環境を構築します。
手順は次のとおりです。
2. データベースとデータ テーブルの作成
データベースを作成し、guestbook という名前を付けます。データベースの下にmessagesという名前のデータテーブルを作成します。データテーブルには次のフィールドが含まれます:
フィールド名タイプ長さの説明
id int 11 メッセージID、主キー、自動インクリメント
username varchar 50 Username
email varchar 100 Email
message text メッセージの内容
post_time datetime メッセージ時刻
3. メッセージ ボード ページの作成
このステップでは、メッセージ ボードを作成しますユーザーがメッセージを入力したり、既存のメッセージを表示したりできるページ。
1. 掲示板ページの UI を作成する
次のコードを HTML に追加します:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>可修改的留言板</title> </head> <body> <h1>留言板</h1> <div> <form method="POST" action="post_message.php"> <h3>发布留言</h3> 用户名:<input type="text" name="username"><br> 邮箱:<input type="email" name="email"><br> 留言:<br> <textarea name="message" rows="10" cols="50"></textarea><br> <input type="submit" value="发布"> </form> </div> <div> <h3>最新留言</h3> <?php // 显示最新留言 ?> </div> </body> </html>
ご覧のとおり、掲示板ページには 2 つの部分が含まれています。 1 つの部分はメッセージ フォームを投稿するためのもので、もう 1 つの部分は既存のメッセージのリストです。
2. メッセージを送信する
掲示板ページのフォームを送信した後、送信されたデータをデータベースに保存する必要があります。
メッセージ送信フォームのデータを処理するために、ルート ディレクトリに post_message.php という名前のファイルを作成します。
次のコードをファイルに追加します:
<?php // 连接数据库 $link = mysqli_connect("localhost", "root", "", "guestbook"); if (!$link) { die("数据库连接失败:" . mysqli_connect_error()); } // 获取表单数据 $username = $_POST['username']; $email = $_POST['email']; $message = $_POST['message']; $post_time = date("Y-m-d H:i:s"); // 插入留言到数据库中 $sql = "INSERT INTO messages (username, email, message, post_time) VALUES ('$username', '$email', '$message', '$post_time')"; $result = mysqli_query($link, $sql); if ($result) { echo "留言发布成功!"; } else { echo "留言发布失败:" . mysqli_error($link); } // 关闭数据库连接 mysqli_close($link); ?>
このファイルでは、まずデータベースに接続し、フォーム データを取得します。次に、データがメッセージ データ テーブルに挿入されます。
3. メッセージの表示
掲示板ページでは、最新のメッセージを表示する必要があります。これを行うには、メッセージ ボード ページの 2 番目の部分にデータベースからのメッセージのリストを表示します。
HTML で、次のコードを変更します。
<div> <h3>最新留言</h3> <?php // 查询留言信息 $link = mysqli_connect("localhost", "root", "", "guestbook"); if (!$link) { die("数据库连接失败:" . mysqli_connect_error()); } $sql = "SELECT * FROM messages"; $result = mysqli_query($link, $sql); mysqli_close($link); // 遍历留言数据,并显示到页面上 while ($row = mysqli_fetch_assoc($result)) { ?> <hr> <div> <p>用户名:<?php echo $row['username']; ?></p> <p>邮箱:<?php echo $row['email']; ?></p> <p>时间:<?php echo $row['post_time']; ?></p> <p>留言内容:<?php echo $row['message']; ?></p> </div> <?php } ?> </div>
このコードでは、まずデータベース内のメッセージ データ テーブルをクエリし、クエリされたメッセージ データを $result に保存します。その後、メッセージ データは while ループを通過してページに表示されます。
4. メッセージの変更
メッセージ ボードでは、ユーザーは送信されたメッセージを変更できます。
HTML コードで、メッセージを表示するようにコードを次のように変更します。
<div> <h3>最新留言</h3> <?php // 查询留言信息 $link = mysqli_connect("localhost", "root", "", "guestbook"); if (!$link) { die("数据库连接失败:" . mysqli_connect_error()); } $sql = "SELECT * FROM messages"; $result = mysqli_query($link, $sql); mysqli_close($link); // 遍历留言数据,并显示到页面上 while ($row = mysqli_fetch_assoc($result)) { ?> <hr> <div> <p>用户名:<?php echo $row['username']; ?></p> <p>邮箱:<?php echo $row['email']; ?></p> <p>时间:<?php echo $row['post_time']; ?></p> <p>留言内容:<?php echo $row['message']; ?></p> <a href="edit_message.php?id=<?php echo $row['id']; ?>">修改</a> </div> <?php } ?> </div>
メッセージを変更するためのハイパーリンクが追加されていることがわかります。
edit_message.php ファイルに、次のコードを追加します。
<?php // 连接数据库 $link = mysqli_connect("localhost", "root", "", "guestbook"); if (!$link) { die("数据库连接失败:" . mysqli_connect_error()); } // 获取留言ID $id = $_GET['id']; // 根据ID查询留言信息 $sql = "SELECT * FROM messages WHERE id=$id LIMIT 1"; $result = mysqli_query($link, $sql); $row = mysqli_fetch_assoc($result); // 显示留言内容的表单 ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>修改留言</title> </head> <body> <h1>修改留言</h1> <div> <form method="POST" action="save_message.php"> <h3>修改留言</h3> 用户名:<input type="text" name="username" value="<?php echo $row['username']; ?>"><br> 邮箱:<input type="email" name="email" value="<?php echo $row['email']; ?>"><br> 留言:<br> <textarea name="message" rows="10" cols="50"><?php echo $row['message']; ?></textarea><br> <input type="hidden" name="id" value="<?php echo $row['id']; ?>"> <input type="submit" value="保存"> </form> </div> </body> </html> <?php // 关闭数据库连接 mysqli_close($link); ?>
このコードでは、まず ID に基づいてメッセージ情報をクエリし、クエリされたメッセージ データをフォームに表示します。ユーザーはこのページでメッセージを変更できます。このうち、隠しフィールド入力はメッセージ ID を保存するために使用され、後でメッセージを保存するときにその ID に基づいてデータベースを更新できるようにします。
save_message.php ファイルに次のコードを追加します。
<?php // 连接数据库 $link = mysqli_connect("localhost", "root", "", "guestbook"); if (!$link) { die("数据库连接失败:" . mysqli_connect_error()); } // 获取表单数据 $id = $_POST['id']; $username = $_POST['username']; $email = $_POST['email']; $message = $_POST['message']; // 更新留言 $sql = "UPDATE messages SET username='$username', email='$email', message='$message' WHERE id=$id"; $result = mysqli_query($link, $sql); if ($result) { echo "留言更新成功!"; } else { echo "留言更新失败:" . mysqli_error($link); } // 关闭数据库连接 mysqli_close($link); ?>
このファイルでは、まずデータベースに接続し、フォーム内のメッセージ データとメッセージ ID を取得します。続いて、データベース内のメッセージデータがそのIDに応じて更新される。
5. 概要
この記事の導入部を通じて、読者は PHP を使用して変更可能なメッセージ ボードを作成する方法を学習したと思います。実際の開発では、メッセージへの返信、メッセージ数の表示、時間順の並べ替えなど、より豊富な機能を掲示板に拡張することもできます。
以上がPHPで変更可能なメッセージボードを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。