php制作留言板代码

php
<!DOCTYPE html> <html> <head> <title>留言板</title> </head> <body> <h2>留言板</h2> <?php // 数据库连接 $servername = "localhost"; $username = "username"; // 数据库用户名 $password = "password"; // 数据库密码 $dbname = "myDB"; // 数据库名称 $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 提交留言 if ($_SERVER["REQUEST_METHOD"] == "POST") { $message = $_POST['message']; $sql = "INSERT INTO messages (message) VALUES ('$message')"; if ($conn->query($sql) === TRUE) { echo "留言已提交成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } // 显示留言 $sql = "SELECT * FROM messages"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "<p>" . $row["message"]. "</p>"; } } else { echo "暂无留言"; } $conn->close(); ?> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> <label for="message">留言:</label><br> <textarea id="message" name="message" rows="4" cols="50"></textarea><br> <input type="submit" value="提交"> </form> </body> </html>

在这个示例中,我们假设数据库中有一个名为 messages 的表,其中包含一个名为 message 的字段,用于存储用户的留言内容。确保替换示例中的数据库连接信息为你自己的数据库连接信息,并根据你的数据库结构调整 SQL 查询和插入语句。

php
<!DOCTYPE html> <html> <head> <title>留言板</title> </head> <body> <h2>留言板</h2> <?php // 数据库连接 $servername = "localhost"; $username = "username"; // 数据库用户名 $password = "password"; // 数据库密码 $dbname = "myDB"; // 数据库名称 $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 提交留言 if ($_SERVER["REQUEST_METHOD"] == "POST") { $message = $_POST['message']; // 检查留言是否为空 if (!empty($message)) { $message = $conn->real_escape_string($message); // 防止 SQL 注入攻击 $timestamp = date('Y-m-d H:i:s'); // 记录时间戳 $sql = "INSERT INTO messages (message, timestamp) VALUES ('$message', '$timestamp')"; if ($conn->query($sql) === TRUE) { echo "留言已提交成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } else { echo "留言不能为空"; } } // 显示留言 $sql = "SELECT * FROM messages ORDER BY timestamp DESC"; // 按时间戳倒序显示 $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "<p>" . $row["timestamp"]. " - " . $row["message"]. "</p>"; } } else { echo "暂无留言"; } $conn->close(); ?> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> <label for="message">留言:</label><br> <textarea id="message" name="message" rows="4" cols="50"></textarea><br> <input type="submit" value="提交"> </form> </body> </html>

在这个版本中,我们添加了使用 real_escape_string() 函数来防止 SQL 注入攻击。检查用户提交的留言是否为空,并给出相应的错误提示。添加了时间戳字段,并在显示留言时按照时间戳倒序排列留言。显示了每条留言的时间戳。