PBOOTCMS已经升级到X3,但是会员注册中,却没有手机注册。
由于本人只买购了短信宝的短信,所以我们来以短信宝讲一下关于PBOOTCMS如何添加手机注册吧。
欢迎随便转载,不需要注明来源和出处,我们的目的是让知识和内容得到分享和传播。
1:大概修改的文件包括:
A:后台设置启用手机注册。
apps/admin/view/default/system/congfig.html
B:前端的注册页面。我们在官方模板为例:
template/default/html/member/register.html
C:解析标签文件
apps/home/controller/ParserController.php
D: 控制器
apps/home/controller/MemberController.php
2: 先说后台启用手机注册。
打后后台模板文件中的congifg.html,搜索会员注册验证码,复制邮箱验证码并修改成短信验证,然后修改其数字为3。
3:修改前端注册页面。
同样的道理,打开前端注册文件,同样复制上面的邮箱的注册信息并修改一下。数字2改成3,sendEmail修改成:sendPhone,这个名字可以自己随便取,只要后面的步骤保持一样即可。
4:继续修改注册页面。拖到页面醉底部JS处。
同样的方法,复制上面邮件发送的代码并修改成下面的代码。这里的sendPhone和上面保持一致即可。
5:打开解析标签文件,同样复制上面sendEmail的方式,复制并修改成:sendPhone.简单吧,就是复制粘贴而已。
6:*后打开控制器文件,这个文件里面修改得有点多了。
**:复制上面发送邮件的函数。大概413行左右,复制它整个函数。然后加在其后面。并修改函数名字为:sendPhone.
第二:作一些小小的修改。例如函数名字修改为:sendPhone,然后是就注册方式修改为3,然后是手机号的正规表达式
由于修改太多,直接贴代码吧。
// 发送短信
public function sendPhone()
{
if ($this->config('register_check_code') != 3 ) {
json(0, '发送失败,请输入短信账号!');
}
if (time() - session('lastsend') < 100) {
json(0, '您提交太频繁了,请稍后再试!');
}
// 发送手机验证
if (! ! $to = post('to')) {
if (! preg_match('/^1[0-9]{10}$/', $to)) {
json(0, '手机格式不正确,请输入正确的手机号!');
}
} else {
json(0, '发送失败,缺少发送对象参数to!');
}
// 检查手机注册
if ($this->model->checkUsername("useremail='$to' OR username='$to'")) {
alert_back('您输入的手机已被注册!');
}
$rs = false;
if ($to) {
session('lastsend', time()); // 记录*后提交时间
$code = create_code(6);// 验证码长度
session('checkcode', strtolower($code));
$phone_body = "你的注册验证码是" . $code.",请及时注册";
$rs = sendmail($this->config(), $to, $mail_subject, $mail_body);
$statusStr = array(
"0" => "短信发送成功",
"-1" => "参数不全",
"-2" => "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!",
"30" => "密码错误",
"40" => "账号不存在",
"41" => "余额不足",
"42" => "帐户已过期",
"43" => "IP地址限制",
"50" => "内容含有敏感词"
);
$smsapi = "http://api.smsbao.com/";
$user = "16516516"; //短信平台帐号
$pass = md5("165165114"); //短信平台密码
$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) {
json(1, '提示:' . $statusStr[$result]);
} else {
json(0, '提醒:' . $statusStr[$result]);
}
}
到此,短信发送验证功能实现了。
大家好,这里是黑马视觉,今天我们来聊聊在深圳建一个网站需要多少钱?龙华网站建设需要多少钱?从所周知,...
在深圳有很多外贸公司,他们已经不满足于通过其他平台来引流,于是他们都需要建设一个自己自己的外贸网站,...
*近在维护一台服务器的时候发现这台服务器CPU一直在99%到100%。服务器上运行的网站不多,也才3个.一开始怀...
安装好宝塔面板之后,我们进行安全扫描,会发现至少扫描出十几个风险。如果有钱,就直接企业版,一键进行修...