layui如何将表单显示在页面的正中间_博客功能篇:文章发布与修改和将数据存储到数据库处理...

本文介绍了如何使用layui框架创建文章发布功能,包括创建HTML页面、处理表单提交、验证和存储数据到数据库。文章详细讲解了表单元素、富文本编辑器layedit的使用,以及在Go语言后端处理文章发布逻辑,涉及路由配置、权限判断、数据关联等操作。
摘要由CSDN通过智能技术生成

博客要有文章展示,首先得有发文章的地方。因此我们在做完登录功能之后,接着现在就开始做文章发布功能了。

文章发布功能包含了2块内容,一块是文章的创建,另一块是分类的创建。

文章发布页面

我们在template文件夹下创建一个article文件夹,并在里面新建一个publish.html:

{% include "partial/header.html" %}
<div class="layui-container">
    <div class="publish">
        <div class="layui-form">
            <input type="hidden" name="id" value="{
    {
    article.Id}}">
            <div class="layui-form-item">
                <label class="layui-form-label">文章标题</label>
                <div class="layui-input-block">
                    <input type="text" name="title" value="{
    {
    article.Title}}" autocomplete="off" class="layui-input">
                </div>
            </div>
            <div class="layui-form-item">
                <label class="layui-form-label">文章分类</label>
                <div class="layui-input-block">
                    <input type="text" name="category_name" value="{
    {
    article.Category.Title}}" autocomplete="off"
                           class="layui-input" list="category_name">
                    <datalist id="category_name">
                        {% for item in categories %}
                        <option value="{
    {
    item.Title}}"></option>
                        {% endfor %}
                    </datalist>
                </div>
            </div>
            <div class="layui-form-item">
                <label class="layui-form-label">关键词</label>
                <div class="layui-input-block">
                    <input type="text" name="keywords" value="{
    {
    article.Keywords}}" placeholder="多个请用英文,隔开" autocomplete="off" class="layui-input">
                </div>
            </div>
            <div class="layui-form-item">
                <label class="layui-form-label">文章描述</label>
                <div class="layui-input-block">
                    <textarea name="description" placeholder="默认提取文章前150个字" class="layui-textarea" rows="3">{
    {
    article.Description}}</textarea>
                </div>
            </div>
            <div class="layui-form-item">
                <label class="layui-form-label">文章内容</label>
                <div class="layui-input-block">
                    <textarea name="content" class="layui-textarea" id="text-editor">{
    {
    article.ArticleData.Content}}</textarea>
                </div>
            </div>
            <div class="layui-form-item">
                <div class="layui-input-block">
                    <button class="layui-btn" lay-submit lay-filter="article-publish">确认提交</button>
                    <button type="reset" class="layui-btn layui-btn-primary">重置</bu
要将Layui提交的表单数据保存到MySQL数据库中,需要进行以下步骤: 1. 在后端服务器上安装MySQL数据库,并创建一个用于存储表单数据数据库和表。 2. 在前端页面中使用Layui的form模块,编写表单代码,并使用ajax将表单数据提交到后端服务器。 3. 在后端服务器上编写接收表单数据的代码,并使用MySQL驱动程序连接到MySQL数据库,将表单数据插入到指定的数据库和表中。 下面是一个示例代码,用于演示如何将Layui表单数据提交到MySQL数据库。 前端代码: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Layui表单提交到MySQL数据库</title> <link rel="stylesheet" href="layui/css/layui.css"> </head> <body> <div class="layui-container"> <div class="layui-row"> <form class="layui-form" action=""> <div class="layui-form-item"> <label class="layui-form-label">姓名</label> <div class="layui-input-block"> <input type="text" name="name" required lay-verify="required" placeholder="请输入姓名" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">年龄</label> <div class="layui-input-block"> <input type="text" name="age" required lay-verify="required|number" placeholder="请输入年龄" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit lay-filter="formDemo">提交</button> </div> </div> </form> </div> </div> <script src="layui/layui.js"></script> <script> layui.use(['form', 'jquery'], function(){ var form = layui.form; var $ = layui.jquery; //监听提交 form.on('submit(formDemo)', function(data){ $.ajax({ url: 'save.php', type: 'post', dataType: 'json', data: data.field, success: function (res) { if (res.code == 0) { layer.msg('提交成功'); } else { layer.msg('提交失败:' + res.msg); } }, error: function (xhr, textStatus, errorThrown) { layer.msg('提交失败:' + textStatus); } }); return false; }); }); </script> </body> </html> ``` 后端代码(使用PHP语言): ```php <?php //接收表单数据 $name = $_POST['name']; $age = $_POST['age']; //连接MySQL数据库 $servername = "localhost"; $username = "root"; $password = "123456"; $dbname = "test"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } //插入数据到MySQL数据库 $sql = "INSERT INTO user (name, age) VALUES ('$name', '$age')"; if ($conn->query($sql) === TRUE) { $result['code'] = 0; $result['msg'] = '提交成功'; } else { $result['code'] = -1; $result['msg'] = '提交失败:' . $conn->error; } echo json_encode($result); $conn->close(); ?> ``` 在这个示例代码中,我们将表单数据提交到了名为`test`的MySQL数据库中的`user`表中,表中包含`name`和`age`两个字段。你需要根据自己的实际情况修改代码中的数据库连接信息和表结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值