聯系官方銷售客服
1835022288
028-61286886
短信驗證碼發送成功后 點擊提交按鈕顯示驗證碼未發送
驗證碼代碼
<button class="btn" onclick="dr_ajax_url('/index.php?s=form&c=api&m=send_code&&id='+$('#dr_dianhua2').val())" type="button" >獲取驗證碼</button> <button type="button" onclick="dr_ajax_submit('{$post_url}', 'myform2', '2000', '{$rt_url}')" class="btn btn-warning btn-block mt15" >免費領取</button>
控制器代碼
<?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($phone); if (!$code) { $this->_json(0, dr_lang('沒有發送驗證碼')); } elseif ($code != $_POST['sms']) { $this->_json(0, dr_lang('驗證碼不正確')); } $this->_Home_Post(); } }
api代碼:
<?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('驗證碼發送成功')); } }
使用的是阿里云的接口 手機可以獲得驗證碼 但是提交表單顯示沒有發送
表單:
驗證碼獲取地址錯了,一般二次開發時都會遇到寫錯地址的問
參考文檔:《發送手機驗證碼開發》
回復@官方研發實習技術 是指的onclick="dr_ajax_url('/index.php?s=form&c=api&m=send_code&id='+$('#dr_dianhua2').val())" 這個嗎
這個是從新寫了一個api 來跳過第一層圖片驗證的~ 這個api文件寫在上面了~
控制器寫錯了,都沒有傳遞phone