PHP实现基本留言板功能原理与步骤详解

针对“PHP实现基本留言板功能原理与步骤详解”,我来详细讲解一下。

首先,基本留言板功能需要实现以下几项功能:

  1. 显示留言列表
  2. 提交留言
  3. 删除留言

以下是具体步骤:

  1. 建立数据库

在MySQL中,可以用以下代码新建一个留言板数据库及数据表:

CREATE DATABASE my_guestbook;

USE my_guestbook;

CREATE TABLE messages (
    id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    name VARCHAR(30) NOT NULL,
    message TEXT NOT NULL,
    time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (id)
);

在上述语句中,创建了一个名为my_guestbook的数据库,包括一个名为messages的数据表和四个字段,分别是id、name、message、time,表示留言编号、留言人、留言信息、留言时间。

  1. 显示留言列表

为了显示留言列表,我们需要使用简单的PHP脚本来检索数据库中的所有留言并将其输出到一个HTML表格中:

<?php
// 连接数据库
$conn = mysqli_connect('localhost', 'username', 'password', 'my_guestbook');

// 检查数据库连接是否成功
if (!$conn) {
  die('Connection failed: ' . mysqli_connect_error());
}

// 获取留言列表
$sql = "SELECT * FROM messages";
$result = mysqli_query($conn, $sql);

// 输出留言列表
if (mysqli_num_rows($result) > 0) {
  echo "<table><tr><th>ID</th><th>Name</th><th>Message</th></tr>";
  while($row = mysqli_fetch_assoc($result)) {
    echo "<tr><td>".$row["id"]."</td><td>".$row["name"]."</td><td>".$row["message"]."</td></tr>";
  }
  echo "</table>";
} else {
  echo "No messages found.";
}

// 关闭数据库连接
mysqli_close($conn);
?>

上述PHP脚本会连接到之前创建的数据库中,查询留言列表并将其输出到一个HTML表格中。表格的列包括id、name和message。

  1. 提交留言

为了提交留言,我们需要创建一个包含表单的HTML页面,并在提交表单时检查并将新留言插入到数据库中:

<!DOCTYPE html>
<html>
  <head>
    <title>Guestbook</title>
  </head>
  <body>
    <h1>Guestbook</h1>
    <form action="submit.php" method="post">
      <label for="name">Name:</label>
      <input type="text" id="name" name="name"><br><br>
      <label for="message">Message:</label>
      <textarea id="message" name="message" rows="10" cols="30"></textarea><br><br>
      <input type="submit" value="Submit">
    </form>
  </body>
</html>

当用户填写此表单并提交时,可以使用以下代码检查并将新留言插入到数据库中:

<?php
// 连接数据库
$conn = mysqli_connect('localhost', 'username', 'password', 'my_guestbook');

// 检查数据库连接是否成功
if (!$conn) {
  die('Connection failed: ' . mysqli_connect_error());
}

// 获取用户提交的留言信息
$name = mysqli_real_escape_string($conn, $_POST['name']);
$message = mysqli_real_escape_string($conn, $_POST['message']);

// 插入新留言到数据库
$sql = "INSERT INTO messages (name, message) VALUES ('$name', '$message')";
if (!mysqli_query($conn, $sql)) {
  echo "Error: " . mysqli_error($conn);
}

// 重定向到显示留言列表的页面
header('Location: list.php');

// 关闭数据库连接
mysqli_close($conn);
?>

上述代码会在用户提交表单后将namemessage字段插入到messages表中,然后将用户重定向到之前创建的显示留言列表的页面。

  1. 删除留言

为了删除留言,我们需要在显示留言列表时为每个留言添加一个删除链接,以便用户可以单击它以删除相应的留言。以下是更新后的PHP脚本:

<?php
// 连接数据库
$conn = mysqli_connect('localhost', 'username', 'password', 'my_guestbook');

// 检查数据库连接是否成功
if (!$conn) {
  die('Connection failed: ' . mysqli_connect_error());
}

// 判断是否删除留言
if (isset($_GET['delete'])) {
  $delete_id = mysqli_real_escape_string($conn, $_GET['delete']);
  $sql = "DELETE FROM messages WHERE id=$delete_id";
  mysqli_query($conn, $sql);
}

// 获取留言列表
$sql = "SELECT * FROM messages";
$result = mysqli_query($conn, $sql);

// 输出留言列表
if (mysqli_num_rows($result) > 0) {
  echo "<table><tr><th>ID</th><th>Name</th><th>Message</th><th>Action</th></tr>";
  while($row = mysqli_fetch_assoc($result)) {
    echo "<tr><td>".$row["id"]."</td><td>".$row["name"]."</td><td>".$row["message"]."</td><td><a href=\"list.php?delete=".$row['id']."\">Delete</a></td></tr>";
  }
  echo "</table>";
} else {
  echo "No messages found.";
}

// 关闭数据库连接
mysqli_close($conn);
?>

上述代码会为每个留言添加一个“Delete”链接,当用户单击“Delete”链接时,会将相应的留言从数据库中删除。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP实现基本留言板功能原理与步骤详解 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • PHP让数组中有相同值的组成新的数组实例

    要实现将数组中有相同值的元素组成新的数组实例,可以使用PHP的array_unique()和array_count_values()两个函数,它们的调用过程如下: // 定义数组 $nums = array(1, 2, 3, 2, 4, 4, 3, 5); // 去重 $unique_nums = array_unique($nums); // 统计元素出现…

    PHP 2023年5月26日
    00
  • 支付宝怎么删除小程序? 支付宝已收藏小程序删除的方法

    下面我将为大家详细讲解“支付宝怎么删除小程序? 支付宝已收藏小程序删除的方法”。 删除小程序的基本方法 打开支付宝应用,在首页下拉找到“更多”选项; 点击“更多”,进入下一级页面后,可以看到“小程序”选项; 点击“小程序”,进入小程序收藏页面; 找到需要删除的小程序,长按小程序图标,弹出删除提示框; 点击“删除”按钮,即可将小程序从支付宝中删除。 删除小程序…

    PHP 2023年5月30日
    00
  • php计算多维数组中所有值总和的方法

    有两种常用的方法可以计算PHP多维数组中所有值的总和,具体分别如下: 方法一:foreach语句遍历数组 // 示例一:使用foreach语句遍历数组 function getSum($arr) { $sum = 0; foreach ($arr as $value) { if (is_array($value)) { $sum += getSum($val…

    PHP 2023年5月26日
    00
  • php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)

    PHP微信高级接口调用方法 自定义菜单接口 步骤一:定义菜单结构 在使用自定义菜单接口之前,我们必须先定义一个菜单的结构,例如: { "button": [ { "name": "菜单1", "sub_button": [ { "type": "vi…

    PHP 2023年5月30日
    00
  • 超小PHP小马小结(方便查找后门的朋友)

    下面我将详细讲解“超小PHP小马小结(方便查找后门的朋友)”的完整攻略。 一、什么是PHP小马? 首先,我们需要明确什么是PHP小马(PHP Shell)。简单的说,PHP Shell是一个利用PHP语言编写的一种可执行文件,用于远程控制Web服务器。 也就是说,黑客们通过上传PHP小马到服务器上,可以通过Web浏览器或者命令执行操作,来获取服务器的控制权,…

    PHP 2023年5月30日
    00
  • 一个PHP二维数组排序的函数分享

    让我们来讲解“一个PHP二维数组排序的函数分享”的完整攻略。 问题描述 在开发PHP程序时,经常会涉及到对二维数组进行排序的情况。二维数组是一个特殊的数组,它包含多个子数组,在排序时需要考虑到子数组的顺序,且每个子数组中的元素可能是不同的数据类型。因此,我们需要编写一个通用的函数来完成对二维数组的排序。 解决方案 为了解决上述问题,我们可以编写一个函数来完成…

    PHP 2023年5月26日
    00
  • PHP编程实现的TCP服务端和客户端功能示例

    下面我来详细讲解“PHP编程实现的TCP服务端和客户端功能示例”的完整攻略。 前置知识 在学习本篇攻略之前,需要具备以下基础知识: PHP基础语法和面向对象编程基础; TCP/IP协议基础; socket编程基础。 TCP/IP协议 TCP/IP协议是互联网的基础协议,它包含了TCP协议和IP协议两部分。其中,TCP协议是面向连接的协议,能够保证数据的可靠传…

    PHP 2023年5月23日
    00
  • PHP解析RuoYi框架实现Token解密详解

    以下是关于“PHP解析RuoYi框架实现Token解密详解”的完整使用攻略: 基础知识 在了解PHP解析RuoYi框架实现Token解密之前,需要掌握一些基础知识,包括Token的基本概念、Token的应用场景、Token的优缺点等。以下是一些常见的基础知识: Token的基本概念包括Token的定义、Token的特点等。 Token的应用场景包括Token…

    PHP 2023年5月12日
    00
合作推广
合作推广
分享本页
返回顶部