当前位置:南蛮子懋和 > 技术 > Z-BlogPHP > 让Z-Blog评论必须填邮箱、网址等信息

让Z-Blog评论必须填邮箱、网址等信息

南蛮子懋和2024年09月20日Z-BlogPHP3118
文章摘要
DaoGPT
此内容根据文章AI生成,并经过人工审核,仅用于文章内容的解释与总结
投诉

鸣谢@隔壁老李@拓源网@沉冰浮水@豫唐网络四位大佬的思路及技术支撑,使得小道又学会了一个巧妙地姿势。

image.png

缘起啊,说来话长。有位道友找小道换友链,结果在写评论的时候,居然邮箱、主页什么的全都没填,小道一看,无法通知他,心中愤愤不平,真是气得七窍生烟。于是我,修道的老李,心里想着,不能再让这种事发生了,决定尝试搞个Z-Blog评论强制填写邮箱、网址的功能。说实话,起初我在拓源主题的Z-Blog群里有些忐忑,毕竟小道对Z-Blog的那些钩子、机制也不甚了了,早已忘得七七八八,心里多少有点不好意思开口。不过转念一想,不问又如何能进步?那不成了道途上的障碍?其实隔壁的老李,那才是真有悟性,写代码时下笔如有神助,一写一个准,我看了也是心生佩服。虽说修道有成,我在这编程之道上,还得多向那老李请教一二啊。

image.png

于是,我根据隔壁老李和沉冰浮水提供的思路,巧妙地写下了下面的代码,主要是几个功能,邮箱必填和网址必填,而且是完全需要填写正确的内容,否则正则判断后不正确,你还得重新填写对应内容。这样一来,我如果回复了用户的评论后,就可以完美的通过邮箱或者更加高级、暴力的方式去通知评论者,长话短说,不多废话,代码如下:

/* 评论邮箱,网址必填 */
Add_Filter_Plugin('Filter_Plugin_PostComment_Core', 'PostComment_Core');

function PostComment_Core(&$cmt) {
    global $zbp;

    // 获取 POST 请求中的 Email, HomePage 和 username 参数
    $Email = GETVars("email", "POST");
    $homepage = GETVars("HomePage", "POST");
    // 判断当前用户是否为站长
    $is_admin = $zbp->user->Level == 1;  // 站长的权限级别通常是 1

    // 如果不是站长,则执行验证
    if (!$is_admin) {
        // 使用系统内置的 CheckRegExp 进行初步验证
        if (!CheckRegExp($email, '[email]')) {
            $cmt->IsThrow = true;
            $error_code_invalid_email = 16;  // 自定义错误代码
            $zbp->lang['error'][$error_code_invalid_email] = '邮箱格式不正确';  // 错误提示信息
            $zbp->ShowError($error_code_invalid_email, __FILE__, __LINE__);  // 抛出错误
        }

        if (!CheckRegExp($homepage, '[homepage]')) {
            $cmt->IsThrow = true;
            $error_code_invalid_homepage = 17;  // 自定义的错误代码
            $zbp->lang['error'][$error_code_invalid_homepage] = '网址格式不正确';  // 错误提示信息
            $zbp->ShowError($error_code_invalid_homepage, __FILE__, __LINE__);  // 抛出错误
        }

        // 邮箱的正则达式 - 更严格的正则
        $email_strict_pattern = '/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/';

        // 主页的正则达式 - 更严格的正则
        $homepage_strict_pattern = '/^https?:\/\/[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(\/.*)?$/';

        // 更严格的邮箱格式验证
        if (!preg_match($email_strict_pattern, $email)) {
            $cmt->IsThrow = true;
            $error_code_strict_email = 18;  // 自定义的错误代码
            $zbp->lang['error'][$error_code_strict_email] = '邮箱格式不符合更严格的要求,邮箱必须是能接受到频道通知的可用邮箱。';  // 错误提示信息
            $zbp->ShowError($error_code_strict_email, __FILE__, __LINE__);  // 抛出错误
        }

        // 更严格的主页格式验证
        if (!preg_match($homepage_strict_pattern, $homepage)) {
            $cmt->IsThrow = true;
            $error_code_strict_homepage = 19;  // 自定义的错误代码
            $zbp->lang['error'][$error_code_strict_homepage] = '网址格式不符合更严格的要求,网址例如:https://www.dao.js.cn/';  // 错误提示信息
            $zbp->ShowError($error_code_strict_homepage, __FILE__, __LINE__);  // 抛出错误
        }
    }
}

这个代码很随意,可以直接插在主题的include.php的底部直接使用,我是使用的拓源主题,如果是其他主题或许提示的错误代码有所不同,诸君要慢慢摸索。另外隔壁老李也发布了这方面的文章。

https://yeelz.com/post/572.html

扫描二维码推送至手机访问。

版权声明:本文由 南蛮子懋和 发布,如需转载请遵循《声明》注明出处。

本文链接:https://www.dao.js.cn/new/2024092011436.shtml

分享给朋友:

“让Z-Blog评论必须填邮箱、网址等信息” 的相关文章

Z-Blog时间因子,提交格式规范

Z-Blog时间因子,提交格式规范

时间因子作为百度和头条搜索的重要评估标准,决定了网页内容在搜索引擎中的表现。通过分析内容的发布时间、更新时间及用户互动时间,搜索引擎能够判断其价值与相关性。定期更新内容,保持页面的新鲜度,并积极引导用...

巧用Cloudflare功能实现Z-BlogPHP智能AI摘要

巧用Cloudflare功能实现Z-BlogPHP智能AI摘要

特别鸣谢@Mayx的鼎力支持,使小道实现了巧用Cloudflare功能实现Z-BlogPHP智能AI摘要的基本功能。思路https://mayx.eu.org/2024/07/03/ai-summar...

Z-BlogPHP调用文章总数、评论总数等常用标签

Z-BlogPHP调用文章总数、评论总数等常用标签

文章总数:{$zbp->cache->all_article_nums} 页面总数:{$zbp->cache->all_page_nums} 标签总数:{$...

升级拓源纯净主题tpure的注意事项

升级拓源纯净主题tpure的注意事项

由于站点已经是PHP高版本,每次升级主题的时候,需要重新下载纯净主题PHP7.4~PHP8邮件通知组件,不然的话整个网站评论会提示没有each函数。一定要长记性,长记性。目前主题的离线IP数据是没有I...

评论列表

漂流的云
漂流的云   MQQBrowser 13.6  Android 12
2024年09月20日

让Z-Blog评论必须填邮箱更安全可靠,确保了真实互动与有效反馈。

南蛮子懋和  QQBrowser 13.1.6101.400 Windows 10 x64 回复:
准备把你们后面全部加个机器人图标。
2024年09月20日
小明明
小明明 Google Chrome 123.0.6312.118  vivo
2024年09月20日

万般皆是命,半点不由人。

南蛮子懋和  QQBrowser 13.1.6101.400 Windows 10 x64 回复:
生死有命,富贵在天。
2024年09月20日
文案姐笔记
文案姐笔记 Google Chrome 86.0.4240.198  Windows 10 x64
2025年03月22日

z-blog还是很不错的程序。看来大佬玩了很久了

南蛮子懋和  QQBrowser 13.7.6351.400 Windows 10 x64 回复:
玩了很久,以前从wp转过来就没换过,有近10年了
2025年03月22日
南蛮子懋和  QQBrowser 13.7.6351.400 Windows 10 x64 回复:
玩了很久,以前从wp转过来就没换过,有近10年了
2025年03月22日
南蛮子懋和  QQBrowser 13.7.6351.400 Windows 10 x64 回复:
对的,十来年有了吧
2025年03月22日

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。

请如实填写常用的真实邮箱,方便后续的回复邮件通知。