ppypp伦理天堂,91手机在线视频,免费在线观看黄色毛片,夜夜穞天天穞狠狠穞AV美女按摩

聯系官方銷售客服

1835022288

028-61286886

投訴 分享 短信驗證碼去除第一層圖片驗證的方式 6 0
123(不懂技術) SVIP會員 OEM版權 2020-08-26 13:38:17 私信
迅睿CMS版本:4.3.8

短信驗證碼去除第一層圖片驗證的方式

代碼提供者:@ 易學習 (小波設計)

非常感謝大佬的無私幫助~

目前系統的短信驗證是需要首先進行一次圖片驗證~這種方式很好但是在某些場合不適合~因為經過雙重驗證對于用戶有些麻煩~

前端表單代碼:

<button class="btn blue" onclick="dr_ajax_url('/index.php?s=form&c=api&m=send_code&&code='+$('#dr_code').val()+'&id='+$('#dr_dianhua').val())" type="button">獲取手機驗證碼</button>

將提交url轉化成上面的樣式 然后刪除圖片驗證碼的代碼

控制器文件建立位置:dayrui/app/form/controllers/Api.php

控制器代碼:

<?php namespace Phpcmf\Controllers;
// 用戶api
class Api extends \Phpcmf\Common
{
    /**
     * 發送驗證碼
     */
    public function send_code() {
        $phone = dr_safe_replace(\Phpcmf\Service::L('input')->get('id'));
        if (!$phone) {
            $this->_json(0, dr_lang('手機號碼未填寫'), ['field' => 'phone']);
        } elseif (!\Phpcmf\Service::L('Form')->check_phone($phone)) {
            $this->_json(0, dr_lang('手機號碼格式不正確'), ['field' => 'phone']);
        }
if (\Phpcmf\Service::L('Form')->get_mobile_code($phone)) {
// 驗證操作間隔
            $this->_json(1, dr_lang('已經發送稍后再試'));
        }
        $code = rand(100000, 999999);
        $rt = \Phpcmf\Service::M('member')->sendsms_code($phone, $code);
        if (!$rt['code']) {
            $this->_json(0, dr_lang('發送失敗'));
        }
\Phpcmf\Service::L('Form')->set_mobile_code($phone, $code);
        $this->_json(1, dr_lang('驗證碼發送成功'));
    }
}

表單控制器修改:dayrui/app/form/controllers/ {你的表單名稱}.php

<?php namespace Phpcmf\Controllers;
/**
 * 二次開發時可以修改本文件,不影響升級覆蓋
 */
class Xfbd extends \Phpcmf\Home\Form
{
    public function index() {
        $this->_Home_List();
    }
    public function show() {
        $this->_Home_Show();
    }
    public function post() {
        $code = \Phpcmf\Service::L('Form')->get_mobile_code($dianhua);
if (!$code) {
$this->_json(0, dr_lang('沒有發送驗證碼'));
} elseif ($code != $_POST['sms']) {
$this->_json(0, dr_lang('驗證碼不正確'));
}
        $this->_Home_Post();
    }
}

然后就ok了~親測可用~
解決方案