十五年风雨路 · 一心铸精品

一个官网 留一件精品 做一个项目 树一块样板

pbootcms防止留言灌水时先发送手机验证码验证后再留言

上一篇我们提到: 经常遇到要转载微信公众号上发布的文章,文字复制了,但是图片在微信服务器上就出出现无法显示的问题,迫切需要本地化。尝试过多种办法,分享一种简单可行的办法,对编辑器稍微加以修改即可。1、找到文件coreextendueditorphpction_crawler.php文件大约在52行样子。/* 抓取远程图片 */$list = array();if (isset($_POST

接下来我们进入今天的正文:
2023-02-13

之前开发一个小功能就是留言后发送短信到手机上。给朋友说了一下,然后他说他有一个客户需求是留言的时候先手机验证一下,避免有人乱留言。这其实是一个好主意,可以过滤掉很多垃圾留言信息。

于是趁热打铁,前两天刚开发了留言发送到手机上以及注册会员时手机验证,正好可以使用到之前用过的方法来实现这一功能。

下面开始讲如何实现。



这个小功能呢,我看了一下代码,和上一次说的会员注册时需要一个短信验证差不多。代码也极为相似。

安排:

此次需要修改的文件一共有三个:

1:前端文件:template/default/html/message.html

2:  标签解析文件: apps/home/controller/ParserController.php

 3:  控制器文件: apps/homecontroller/MessageController.php




弟一:修改前端文件

这个比较简单,就是验证码的位置和上一篇文章提到的会员注册是一样的,添加一个发送短信的按钮。我们用:sendBook,之前注册会员短信验证我们用的是sendPhone,参考一下,其实都是一样的方法。


 <div class="form-group">
                    <label for="checkcode">手机验证码</label>
                    <div class="row">
                        <div class="col-6">
                            <input type="text" name="checkcode" required id="checkcode" class="form-control" placeholder="请输入验证码">
                        </div>
                        <div class="col-6">
                            <span  class="btn btn-info mb-2" onclick="sendBook();">发送短信</span>
                        </div>
                    </div>
                </div>


image.png

然后在下面的JS中添加

//发送短信验证码
function sendBook(){
  var url='{pboot:sendBook}';
  var username=$("#username").val();
  if(!username){
    alert("请先输入需要注册的手机号!");
    return false;
  }
  $.ajax({
    type: 'POST',
    url: url,
    dataType: 'json',
    data: {
      to: username
    },
    success: function (response, status) {
      if(response.code){
       alert(response.data);
      }else{
       alert(response.data);
      }
    },
     
  });
  return false;
}



第二:解析标签增加一个:sendBook,这个简单,复制上面的改名即可。

image.png


第三:重点来了。控制器文件MessageController.php中我们添加一个发送短信的函数。代码太多,我直接复制下来。



     // 发送短信
    public function sendBook()
    {
      
        
        if (time() - session('lastsend') < 10) {
            json(0, '您提交太频繁了,请稍后再试!');//间隔100秒才能再次提交。
        }        
           // 发送手机验证      
     

        if (! ! $to = post('to')) {           
            if (! preg_match('/^1[0-9]{10}$/', $to)) {
                json(0, '手机格式不正确,请输入正确的手机号!');
            }
        }      
      
        
        $rs = false;
        if ($to) {
            session('lastsend', time()); // 记录醉后提交时间      
            $code = create_code(4);// 验证码长度    
            session('checkcode', strtolower($code)); 
            $phone_body = "你的注册验证码是{" . $code."}";   
          
            $statusStr = array(
            "0" => "短信发送成功",
            "-1" => "参数不全",
            "-2" => "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!",
            "30" => "密码错误",
            "40" => "账号不存在",
            "41" => "余额不足",
            "42" => "帐户已过期",
            "43" => "IP地址限制",
            "50" => "内容含有敏感词"
            );             
            $smsapi = "http://api.smsbao.com/";
            $user = "15800110475"; //短信平台帐号
            $pass = md5("ySShb2FD842DF"); //短信平台密码         
            $phone = post('to'); //接收短信的手机号码         
            $sendurl = $smsapi."sms?u=".$user."&p=".$pass."&m=".$phone."&c=".urlencode($phone_body);
            $result =file_get_contents($sendurl) ;
            echo $statusStr[$result];          
    
        }
       if ($result  === true) {
             
        } else {
            
        }

        return $sendBook;
    
    }


然后在下面的留言新增的函数中修改如下验证码处的位置

  // 验证码验证
            
            $checkcode = strtolower(post('checkcode', 'var'));
            
            if ($this->config('message_check_code') !== '0') {
                               
                if (! $checkcode) {
                    alert_back('验证码不能为空!');
                }else{
                    $sendBook = $this->sendBook();//发送验证码 
                }
                
                if ($checkcode != session('checkcode')) {
                    alert_back('验证码错误!');
                } 

            }


image.png



二维码

扫一扫,浏览关注本文

主营业务

  • 高端网站定制
  • SEO网站优化
  • 手机网站建设
  • 网站维护
  • 网页设计制作
  • 微信小程序开发

TAGS

随机案例

  • 阿杰美容美发培训网站建设

    阿杰美容美发培训网站建设

  • 天翊装饰网站建设

    天翊装饰网站建设

  • 功夫蚂蚁餐饮火锅加盟网站建设

    功夫蚂蚁餐饮火锅加盟网站建设

  • 蜀丰食品包装网站建设

    蜀丰食品包装网站建设

  • 康伟管业/PP超静音排水管材/网站建设

    康伟管业/PP超静音排水管材/网站建设

  • 新文必生印务、印刷网站建设、包装网站建设

    新文必生印务、印刷网站建设、包装网站建设

  • 明霆基础工程网站建设

    明霆基础工程网站建设

  • 婴之皇/孕婴/母婴连锁加盟/网站建设

    婴之皇/孕婴/母婴连锁加盟/网站建设

案例展示 / CASE

新文必生印务、印刷网站建设、包装网站建设

成都印刷网站建设,成都印刷厂网站设计,成都画册印刷网站制作,成都画册制作网站建设,成都印刷厂家网站建设,四川印刷网站建设,四川···

查看详情

晋沙汇川服装定制网站建设

查看详情

修柏建筑幕墙工程网站建设

查看详情

康伟管业/PP超静音排水管材/网站建设

查看详情

明霆基础工程网站建设

查看详情

金鹿凯斯服饰/服装网站建设

金鹿凯斯服饰/服装网站建设以html5响应式一体化设计制作,手机端自动响应,高端大气上次,关键词:成都职业装网站建设,成都职业装···

查看详情

功夫蚂蚁餐饮火锅加盟网站建设

功夫蚂蚁是一家专注于麻辣烫,火锅,串串香行业的优质餐饮连锁加盟公司。提供火锅串串香加盟免费指导、火锅加盟店选址等,让您在加盟···

查看详情

天翊装饰网站建设

天翊装饰公司网站以html5响应式一体化设计制作,高端大气上次,关键词:装修公司网站建设,装饰公司网站建设,成都装修公司网站建···

查看详情

蜀丰食品包装网站建设

实力让我们引领行业为您锁住健康,让食品更安全,让生活更健康!成都市都江堰市蜀丰食品包装有限公司成立于2014年初,是一家集研···

查看详情

阿杰美容美发培训网站建设

查看详情

婴之皇/孕婴/母婴连锁加盟/网站建设

查看详情

五菱电动观光车网站建设

网站以HTML5制作,pc+wap网站制作自动跳转。关键词:五菱观光车网站建设,五菱巡逻车网站建设,封闭电动巡逻车网站建设,封闭电动观···

查看详情

联系我们 / CONTACT US

  • 四川省成都市金牛区五福桥东路229号龙湖北城天街28栋903
  • 服务热线:028-86088588  18080432432(微信同号)
  • 总机:028-62322623-0
  • QQ:3575114  107086147

扫码访问手机网站

版权所有 Copyright © 2007-2024 四川冠辰科技开发有限公司    川公安网备案:51010602001006号     

地址:四川省成都市金牛区五福桥东路229号龙湖北城天街28栋903  蜀ICP备11012605号-1

始于2007年,十五年品牌网站建设,值得信赖!  xml地图txt地图