简单实现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学习mysql课件 高级篇第1/2页

    “PHP学习mysql课件 高级篇第1/2页”是一份介绍如何在PHP中使用mysql数据库的课件。以下是该课件的完整攻略: 前提准备 在本地安装好PHP环境和mysql数据库 了解PHP和mysql的基础知识 第1页:介绍PDO PDO(PHP Data Objects)是PHP中使用mysql数据库的一种方法。它是PHP中访问关系型数据库(如mysql)的…

    PHP 2023年5月23日
    00
  • Thinkphp将二维数组变为标签适用的一维数组方法总结

    想要将一个二维数组转化为标签适用的一维数组,可以使用以下的步骤: 步骤1:先将二维数组进行遍历,获取所有需要转换的值 $data = [ [‘id’=>1, ‘name’=>’Apple’, ‘color’=>’red’], [‘id’=>2, ‘name’=>’Banana’, ‘color’=>’yellow’], […

    PHP 2023年5月26日
    00
  • PHP实现下载远程图片保存到本地的方法

    实现下载远程图片保存到本地的方法,可以采用PHP的curl库来实现。具体步骤如下: 步骤一:开启curl扩展 在PHP中使用curl库,需要开启curl扩展。如果你的PHP环境中没有安装curl扩展,可以在php.ini配置文件中添加如下配置: extension=curl.so (Linux) extension=curl.dll (Windows) 步骤…

    PHP 2023年5月27日
    00
  • phpcms模块开发之swfupload的使用介绍

    下面就为您详细讲解”phpcms模块开发之swfupload的使用介绍”。 什么是swfupload? swfupload是一款使用Flash和JavaScript开发的多文件上传工具,可以上传多个文件,可以显示上传进程,在上传过程中可以使用自定义的事件来实现一些个性化的处理,广泛应用于各类网站的文件上传功能中。 如何在phpcms中使用swfupload?…

    PHP 2023年5月26日
    00
  • PHP获取页面执行时间的方法(推荐)

    PHP获取页面执行时间的方法(推荐) 在编写网站应用程序时,经常需要对页面的运行时间进行测量和优化。PHP提供了一种简单的方法来获取脚本执行的时间,本文将介绍其中两种方法。 方法一:microtime()函数 在PHP中,microtime()函数用于获取当前时间的微秒数,通过在脚本的不同位置调用microtime()函数,可以获取各个代码块的执行时间,并计…

    PHP 2023年5月26日
    00
  • PHP Mysqli 常用代码集合

    PHP Mysqli 常用代码集合攻略 1. 简介 mysqli是PHP中操作MySQL数据库的扩展,它提供了比之前的mysql扩展更多的功能。在使用mysqli时,我们需要先连接到要操作的数据库,然后使用mysqli提供的方法来执行SQL语句。本攻略目的是介绍mysqli的常用代码集合,帮助开发者快速上手。 2. 连接到数据库 在使用mysqli操作数据库…

    PHP 2023年5月30日
    00
  • 高性能PHP框架Symfony2经典入门教程

    高性能PHP框架Symfony2经典入门教程完整攻略 Symfony2是一个面向对象的PHP框架,其出色的性能和强大的功能能够帮助开发者快速构建高质量的Web应用。本教程将带领你从入门到进阶,全面了解Symfony2的架构、编程模型和各种常用功能。 基础篇 1. 安装Symfony2 首先,需要在你的机器上安装PHP。可以通过官网下载最新版PHP:https…

    PHP 2023年5月23日
    00
  • 个人站长制做网页常用的php代码

    作为一个个人站长,编写 PHP 代码是制作网页的常见需求,下面是一个关于个人站长制作网页常用的 PHP 代码的完整攻略: 1. PHP 基础语法 在编写 PHP 代码之前,我们需要了解 PHP 语言的基础语法。下面是一个简单的 PHP 代码示例: <?php echo "Hello, World!"; ?> 上面的代码中,&l…

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