超级简单的php+mysql留言本源码

我来说一下“超级简单的php+mysql留言本源码”的完整攻略吧。

环境准备

首先,你需要有一台安装有 Apache 服务器、MySQL 数据库以及 PHP 的电脑,或者使用各种云服务器也可以。我在这里使用的是 XAMPP 工具,它可以快速建立 PHP 开发环境,可以在 XAMPP官网 下载安装。

安装数据库

接下来需要安装数据库,打开 phpMyAdmin 界面,新建一个名为 guestbook 的数据库。

编写代码

创建留言表

在新建数据库后,需要创建一个留言表 tbl_message,代码如下:

CREATE TABLE tbl_message (
    `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `username` varchar(50) NOT NULL,
    `title` varchar(100) NOT NULL,
    `content` text NOT NULL,
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

编写前端界面

接下来,我将使用 Bootstrap 来美化界面。在 Bootstrap 官方网站上下载 Bootstrap 的 css 和 js 文件,将它们保存到你的项目中,然后创建一个 index.html 文件。在这个文件中编写前台页面的 HTML 和 JavaScript 代码。

下面是一个简单的前台页面的示例,其中包含了留言列表和留言表单:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>留言本</title>
    <link rel="stylesheet" href="./css/bootstrap.min.css">
    <script src="./js/jquery.min.js"></script>
    <script src="./js/bootstrap.min.js"></script>
</head>
<body>
    <h2>留言列表</h2>
    <table class="table table-striped">
        <thead>
            <tr>
                <th>ID</th>
                <th>用户名</th>
                <th>标题</th>
                <th>内容</th>
                <th>发布时间</th>
            </tr>
        </thead>
        <tbody id="messageList">
        </tbody>
    </table>

    <hr>

    <h2>添加留言</h2>
    <form id="messageForm">
        <div class="form-group">
            <label for="username">用户名</label>
            <input type="text" class="form-control" id="username" placeholder="请输入用户名">
        </div>
        <div class="form-group">
            <label for="title">标题</label>
            <input type="text" class="form-control" id="title" placeholder="请输入标题">
        </div>
        <div class="form-group">
            <label for="content">内容</label>
            <textarea class="form-control" id="content" placeholder="请输入内容"></textarea>
        </div>
        <button type="submit" class="btn btn-primary">提交</button>
    </form>

    <script>
        $(document).ready(function () {
            // 发送 ajax 请求,获取留言列表
            $.get('./get_messages.php', function (res) {
                var data = JSON.parse(res);
                if (data.code === 200) {
                    var messages = data.data;
                    for (var i = 0; i < messages.length; i++) {
                        var message = messages[i];
                        var html = '<tr>' +
                            '<td>' + message.id + '</td>' +
                            '<td>' + message.username + '</td>' +
                            '<td>' + message.title + '</td>' +
                            '<td>' + message.content + '</td>' +
                            '<td>' + message.create_time + '</td>' +
                            '</tr>';
                        $('#messageList').append(html);
                    }
                } else {
                    alert(data.msg);
                }
            });

            // 监听表单提交事件
            $('#messageForm').on('submit', function (e) {
                e.preventDefault();
                var username = $('#username').val();
                var title = $('#title').val();
                var content = $('#content').val();
                $.post('./add_message.php', {
                    username: username,
                    title: title,
                    content: content
                }, function (res) {
                    var data = JSON.parse(res);
                    if (data.code === 200) {
                        window.location.reload();
                    } else {
                        alert(data.msg);
                    }
                });
            });
        });
    </script>
</body>
</html>

编写后端接口

最后,需要编写 PHP 后端接口代码。这里我们需要编写两个接口:

get_messages.php

这个接口用于获取留言列表,代码如下:

<?php
header('Content-type: application/json');

try {
    // 连接数据库
    $dbh = new PDO('mysql:host=localhost;dbname=guestbook', 'root', '');
    $dbh->exec('set names utf8mb4');

    // 执行查询
    $stmt = $dbh->prepare('SELECT id, username, title, content, create_time FROM tbl_message ORDER BY create_time DESC');
    $stmt->execute();
    $messages = $stmt->fetchAll(PDO::FETCH_ASSOC);

    // 返回数据
    echo json_encode([
        'code' => 200,
        'msg' => '查询成功',
        'data' => $messages
    ]);
} catch (PDOException $e) {
    // 捕获异常
    echo json_encode([
        'code' => 500,
        'msg' => '查询失败: '.$e->getMessage()
    ]);
}

add_message.php

这个接口用于添加留言,代码如下:

<?php
header('Content-type: application/json');

// 获取用户提交的数据
$username = $_POST['username'];
$title = $_POST['title'];
$content = $_POST['content'];

try {
    // 连接数据库
    $dbh = new PDO('mysql:host=localhost;dbname=guestbook', 'root', '');
    $dbh->exec('set names utf8mb4');

    // 插入数据
    $stmt = $dbh->prepare('INSERT INTO tbl_message (username, title, content) VALUES (?, ?, ?)');
    $stmt->bindParam(1, $username);
    $stmt->bindParam(2, $title);
    $stmt->bindParam(3, $content);
    $stmt->execute();

    // 返回数据
    echo json_encode([
        'code' => 200,
        'msg' => '留言成功'
    ]);
} catch (PDOException $e) {
    // 捕获异常
    echo json_encode([
        'code' => 500,
        'msg' => '留言失败: '.$e->getMessage()
    ]);
}

总结

通过以上的代码,我们就成功地编写了一个简单的留言本应用。其中,前端使用了 Bootstrap 框架美化界面,后端使用了 PHP 和 MySQL 数据库实现了留言的添加和查询功能。

如果你想进一步学习 PHP 和 MySQL,建议你先阅读相关的书籍,如《PHP和MySQL Web开发》等,并通过实践加深理解。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:超级简单的php+mysql留言本源码 - Python技术站

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

相关文章

  • PHP数组 为文章加关键字连接 文章内容自动加链接

    接下来我将为您详细讲解“PHP数组 为文章加关键字连接 文章内容自动加链接”的完整攻略。 1. 分析需求 首先,我们需要分析需求,明确我们要完成的任务是为文章中指定的关键字添加链接。 具体来说,我们需要将文章中的关键字提取出来,并将其与对应的链接一一对应,最后将文章中的关键字替换为对应的链接。 2. 提取关键字 我们可以使用explode()函数来将文章内容…

    PHP 2023年5月26日
    00
  • 默默小谈PHP&MYSQL分页原理及实现

    介绍 PHP和MYSQL是当前非常流行的两个技术,而分页在Web开发中也是非常常用的功能。本文将详细介绍PHP和MYSQL分页原理及其实现,让开发者可以更好地理解和实现分页功能。 分页原理 分页主要涉及两个概念:当前页和每页显示的记录数。在进行分页时,需要计算出总记录数和总页数。 总记录数的计算非常简单,只需要查询数据表中总的记录数即可。 总页数的计算需要用…

    PHP 2023年5月27日
    00
  • 解决php接收shell返回的结果中文乱码问题

    当我们通过PHP的shell_exec或exec函数执行系统命令时,有可能会遇到返回结果中出现乱码的情况,这是因为系统命令返回的结果可能包含了中文字符,但是代码运行的环境不一定支持中文字符编码导致的。下面是解决PHP接收shell返回的结果中文乱码问题的完整攻略: 设置环境变量 首先我们可以设置环境变量来指定命令行的字符集编码,比如我们执行如下命令: put…

    PHP 2023年5月26日
    00
  • php动态生成版权所有信息的方法

    生成版权信息是网站开发过程中非常常见的一项任务。下面,我将为您介绍一种通过 PHP 动态生成版权所有信息的方法。具体步骤如下: 步骤一:编写版权信息模板 首先,我们需要编写一个版权信息模板,这个模板可以是简单的字符串,也可以是包含 HTML 标签的字符串。在模板中,我们可以使用 PHP 变量替换的方法来动态地生成版权信息。例如,我们可以在模板中使用 $yea…

    PHP 2023年5月26日
    00
  • 游戏服务器开发的基本体系与服务器端开发的一些建议

    游戏服务器开发的基本体系: 网络通信:游戏服务器与客户端进行通信的基础。网络通信可采用底层API,也可采用框架(如Socket.io、Node.js等)。 数据库:可以使用关系型数据库,也可使用NoSQL数据库。关系型数据库包括MySQL、Oracle、PostgreSQL等,NoSQL数据库包括Redis、MongoDB等。 业务逻辑:实现游戏内各种功能的…

    PHP 2023年5月27日
    00
  • PHP 源代码压缩小工具

    PHP 源代码压缩小工具攻略 PHP 源代码压缩小工具是一种将 PHP 代码源文件进行压缩处理的工具,可以将 PHP 代码压缩为更小的文件,提高页面加载速度和性能。下面将详细介绍如何使用该工具进行代码压缩。 步骤一:安装 PHP 源代码压缩小工具 首先需要安装 PHP 源代码压缩小工具,在命令行中使用以下命令进行安装: $ composer require …

    PHP 2023年5月23日
    00
  • Java thrift服务器和客户端创建实例代码

    下面我将为你详细讲解“Java thrift服务器和客户端创建实例代码”的完整攻略,过程中我会给出两个示例来说明。 创建Thrift服务器 第一步:定义接口和服务 在创建Thrift服务器之前,需要先定义一个接口和一个服务实现该接口。这里以一个简单的示例为例:服务端提供一个加法运算的服务。 定义接口 创建一个名为AdditionService.thrift的…

    PHP 2023年5月27日
    00
  • php的POSIX 函数以及进程测试的深入分析

    PHP的POSIX函数以及进程测试的深入分析 什么是POSIX函数? POSIX是一个可移植操作系统接口标准(Portable Operating System Interface),该标准定义了一组操作系统接口、函数、命令行工具、代码和并发性控制等概念。PHP的POSIX函数是与POSIX标准相兼容的一组函数。 POSIX函数主要用于进程控制、文件控制和一…

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