前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我用ChatGPT做开发之一键清理Discuz论坛帖子

我用ChatGPT做开发之一键清理Discuz论坛帖子

作者头像
半夜喝可乐
发布2024-09-30 17:17:36
400
发布2024-09-30 17:17:36
举报
文章被收录于专栏:小轻论坛

由于工作需要,我用ChatGPT帮我写了一个一键清理Discuz文章的页面,虽然开始运行起来有一些问题,不过后续让其帮忙调试就没什么问题了。

另外,我还顺便让它把前端美化了下。今天写的内容小白都能看得懂,请放心食用!

Snipaste_2023-05-01_23-55-47.png
Snipaste_2023-05-01_23-55-47.png

先说说用ChatGPT开发我遇到哪些问题,以便于告诉各位在使用它开发时该如何调试。

一、自动省略

首先,我直截了当地问“写一个可以删除dz文章的php代码,通过批量输入链接即可删除文章”。系统立马帮我写出了相应的代码,但是其中的数据库连接及登录验证代码直接给我省略了。

02.png
02.png

如果我自己写那我就输了,所以我……

03.png
03.png

二、系统报错

其实GPT写出代码报错率很高,但是其纠错能力是嘎嘎强啊!

和上面调试的方式一样,你需要先给定原有代码然后给出错误提示,然后等待系统纠错。

04.png
04.png

三、优化代码

因为我们使用Discuz程序时,一般都会对其进行伪静态处理,但是GPT使用的是原始的数据处理,所以这里要给他例子,并让他重新生成。

05.png
05.png

四、优化前端

GPT在帮我们写代码时并不会注重前端体验,只会满足功能需求,所以我们要将最终的代码进行前端优化,告诉GPT“优化上述代码,让前端展示更加美观,并且能够自适应设备”。

06.png
06.png

以上就是我与ChatGPT对一键删除DZ帖子的完整功能开发的详细介绍,下面我将代码共享给大家,由于涉及数据库,请谨慎测试:

代码语言:javascript
复制
<?php
$servername = "数据库地址";
$username = "用户名";
$password = "数据库密码";
$dbname = "数据库名称";

// 创建连接
$con = mysqli_connect($servername, $username, $password, $dbname);

// 检测连接
if (!$con) {
    die("连接失败:" . mysqli_connect_error());
}

if(isset($_POST['delete_links'])) {
    $links = $_POST['delete_links'];
    $link_array = explode("\n", $links); // 将用户输入的链接按行分割成数组

    foreach($link_array as $link) {
        $link = trim($link); // 清除链接前后的空格
        if(empty($link)) continue; // 若链接为空则跳过

        preg_match('/thread-(\d+)-/', $link, $matches); // 从链接中提取出帖子编号

        if(!empty($matches[1])) {
            $tid = $matches[1];
            $sql = "DELETE FROM `pre_forum_thread` WHERE `tid` = ?";
            $stmt = mysqli_prepare($con, $sql);
            mysqli_stmt_bind_param($stmt, 'i', $tid);
            mysqli_stmt_execute($stmt);

            if(mysqli_stmt_errno($stmt) != 0) { // 检查是否有错误
                echo "<p class='error'>删除ID为 {$tid} 的帖子 失败:" . mysqli_stmt_error($stmt) . "</p>";
            } else {
                echo "<p class='success'>删除ID为 {$tid} 的帖子 成功。</p>";
            }
        } else {
            echo "<p class='error'>无效的链接:{$link}</p>";
        }
    }
}

mysqli_close($con);
?>

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>一键删除DZ文章</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: "Microsoft YaHei", Arial, Helvetica, sans-serif;
        }

        body {
            background-color: #F5F5F5;
        }

        .container {
            max-width: 600px;
            margin: 30px auto;
            background-color: #FFF;
            border-radius: 5px;
            box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
            padding: 20px;
        }

        h1 {
            text-align: center;
            font-size: 28px;
            color: #333;
            margin-bottom: 20px;
        }

        label {
            display: block;
            font-size: 16px;
            color: #333;
            margin-bottom: 10px;
        }

        textarea {
            width: 100%;
            height: 150px;
            resize: none;
            margin-bottom: 20px;
            font-size: 14px;
            line-height: 20px;
            color: #666;
            padding: 10px;
            border-radius: 5px;
            border: 1px solid #DDD;
        }

        input[type='submit'] {
            display: block;
            width: 80px;
            height: 30px;
            line-height: 30px;
            margin: 0 auto;
            background-color: #28A745;
            color: #FFF;
            font-size: 14px;
            text-align: center;
            border-radius: 5px;
            cursor: pointer;
            border: none;
        }

        .error {
            color: #F44336;
        }

        .success {
            color: #28A745;
        }
</style>
</head>
<body>
    <div class="container">
        <h1>批量删除帖子</h1>
        <form method="post">
            <label for="delete_links">请输入要删除的帖子链接:</label>
            <textarea name="delete_links" id="delete_links" placeholder="每行一个链接"></textarea>
            <input type="submit" value="删除帖子">
        </form>
    </div>
</body>
</html>

五、更多优化

由于我强迫症比较严重,虽然这个页面仅面向网站管理员,但是我比较注重体验,所以继续问了ChatGPT以下问题:

“不要显示太多行的成功提示,直接罗列出所有删除的ID即可”;

“修改代码要求删除后罗列删除的ID,并在三秒后自动返回”;

“要求修改代码,要求对输入的链接进行去重,并将已删除的ID进行去重展示”;

……

在我看来,与GPT的高效沟通才是快速开发的关键,这都是技巧!

好了!今天的开发就到这儿,咱们下期见!

07.png
07.png
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-05-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档