简单实现PHP留言板功能

下面是“简单实现PHP留言板功能”的完整攻略:

1. 准备工作

首先,要准备好开发环境。需要安装一个支持PHP的Web服务器,比如XAMPP,并启动Apache和MySQL服务。同时,还需要一个文本编辑器,用来编写PHP代码。

2. 创建数据库

先在MySQL中创建一个数据库,比如叫做guestbook。然后,创建一张表,用来存储留言信息。表的结构可以如下:

CREATE TABLE `messages` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `content` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

3. 编写PHP代码

3.1. 显示留言列表

<?php

// 连接数据库
$mysqli = new mysqli('localhost', 'root', '', 'guestbook');

// 查询留言列表
$result = $mysqli->query('SELECT * FROM messages ORDER BY created_at DESC');

// 显示留言列表
while ($row = $result->fetch_assoc()) {
    echo '<div>';
    echo '<p>用户名:' . htmlspecialchars($row['username']) . '</p>';
    echo '<p>内容:' . nl2br(htmlspecialchars($row['content'])) . '</p>';
    echo '<p>时间:' . $row['created_at'] . '</p>';
    echo '</div>';
}

$result->free();
$mysqli->close();

?>

3.2. 发表留言

<?php

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // 获取表单数据
    $username = $_POST['username'];
    $content = $_POST['content'];

    // 校验表单数据
    $errors = [];
    if (empty($username)) {
        $errors[] = '用户名不能为空';
    }
    if (empty($content)) {
        $errors[] = '留言内容不能为空';
    }

    // 如果表单数据校验通过,则插入留言数据到数据库中
    if (empty($errors)) {
        $mysqli = new mysqli('localhost', 'root', '', 'guestbook');
        $stmt = $mysqli->prepare('INSERT INTO messages (username, content, created_at) VALUES (?, ?, NOW())');
        $stmt->bind_param('ss', $username, $content);
        $stmt->execute();
        $stmt->close();
        $mysqli->close();

        // 重定向到留言列表页
        header('Location: index.php');
        exit;
    }
}

?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>发表留言</title>
</head>
<body>
    <h1>发表留言</h1>
    <?php if (!empty($errors)): ?>
        <ul>
        <?php foreach ($errors as $error): ?>
            <li><?= $error ?></li>
        <?php endforeach ?>
        </ul>
    <?php endif ?>
    <form method="post">
        <p>
            <label for="username">用户名:</label>
            <input type="text" name="username" id="username" value="<?= htmlspecialchars($_POST['username'] ?? '') ?>">
        </p>
        <p>
            <label for="content">留言内容:</label>
            <textarea name="content" id="content"><?= htmlspecialchars($_POST['content'] ?? '') ?></textarea>
        </p>
        <p>
            <button type="submit">发表留言</button>
        </p>
    </form>
</body>
</html>

4. 测试应用

将以上代码保存为index.phppost.php文件,并放置在Web服务器的根目录下。然后,打开浏览器访问http://localhost即可看到留言列表页,访问http://localhost/post.php即可发表留言。

示例1:如果留言板页面中有中文字符且在数据库中正确存储和展示,则表明该应用支持UTF-8编码。

示例2:如果用户在发表留言时输入一条空记录,则应该返回错误提示,并拒绝写入数据库。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:简单实现PHP留言板功能 - Python技术站

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

相关文章

  • PHP实现判断数组是一维、二维或几维的方法

    要判断一个数组是一维、二维还是多维数组,PHP提供了多种方法,下面详细介绍几种方法实现。 方法一:利用递归判断数组维度 下面示例代码中的函数通过递归调用自身判断数组的维度,如果循环完所有元素后,仍然是一个数组,则将维度加一。 /** * 判断数组维度 * * @param array $arr * @return int */ function array_…

    PHP 2023年5月26日
    00
  • PHP对象转换为数组函数(递归方法)

    下面我会给出详细讲解“PHP对象转换为数组函数(递归方法)”的完整攻略,包含如下内容: 题目背景 函数原型与参数说明 函数实现思路 示例解释 注意事项 题目背景 在 PHP 开发中,有时候需要将一个对象转换成数组,以便于对其进行处理。因此,我们需要编写一个函数来实现将 PHP 对象转换成 PHP 数组的功能。 函数原型与参数说明 函数名:object_to_…

    PHP 2023年5月26日
    00
  • php数组去重复数据示例

    针对“php数组去重复数据示例”的完整攻略,我来为您详细讲解一下。 什么是php数组去重复数据? 在php中,数组是一种能够存储多个值的变量。在实际开发中,我们经常会遇到需要去除数组中重复的数据的情况。在此,我们将探讨如何使用不同的方法在php中去除重复的数据。 方法一:使用array_unique函数 php中的array_unique函数可以用于去除数组…

    PHP 2023年5月26日
    00
  • php入门学习知识点三 PHP上传

    当学习PHP后,有一个非常重要的应用场景就是上传文件。在PHP中,我们可以通过一些函数达到上传文件的功能。实现PHP上传的关键是两个方面:文件上传的表单 HTML 代码和服务器端上传处理 PHP 代码。下面是PHP上传的完整攻略。 一、上传文件表单 HTML 代码 下面是一个上传单个文件的表单。需要包含 enctype 属性,并将其值设置为 multipar…

    PHP 2023年5月23日
    00
  • 小程序兼容安卓和IOS数据处理问题及坑

    小程序在处理数据时,需要考虑兼容安卓和iOS两个平台,因为它们的底层系统和部分API存在一定差异,如果不注意兼容性问题,就会导致程序在某一平台上出现异常或者崩溃,给用户带来极差的体验。 下面是一些小程序兼容安卓和iOS数据处理问题及解决方法的攻略: 1. 字符串拼接问题 在字符串拼接时,如果使用 + 运算符进行拼接,有时会出现异常。这是因为,在安卓平台上,如…

    PHP 2023年5月30日
    00
  • php常用的安全过滤函数集锦

    如何保证PHP程序运行时的安全性一直是一个重要的话题。在PHP语言的应用过程中,需要对用户传递的数据进行过滤和校验,以保证程序的安全性。本文将介绍PHP常用的安全过滤函数集锦。 1. htmlspecialchars() htmlspecialchars()函数用于将特殊字符转换为HTML实体,以避免字符被浏览器错误地解析。该函数经常被用于防止跨站脚本(XS…

    PHP 2023年5月25日
    00
  • 在MySQL中修改密码及访问限制的设置方法详解

    当我们需要修改MySQL用户的密码或者限制其访问权限时,可以通过以下步骤来完成操作: 步骤一:登录MySQL 首先需要登录MySQL,在命令行环境下输入以下命令: mysql -u 用户名 -p 注意:上述命令中的“用户名”需要替换成你需要登录的用户名,登录后需要输入该用户的密码。 如果一切顺利,则会进入MySQL的命令行界面。 步骤二:查看用户列表 在My…

    PHP 2023年5月27日
    00
  • php简单定时执行任务的实现方法

    下面是实现PHP简单定时执行任务的攻略,包含两个示例说明。 1. 使用Linux Cron 在Linux操作系统下,可以使用Cron来实现PHP的定时执行任务。Cron是Linux下的一个定时任务调度器,它可以在指定的时间间隔执行特定的命令或脚本。 1.1 编写PHP脚本 首先,需要编写一个PHP脚本,用于执行定时任务的具体操作。比如,下面的示例代码是一个简…

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