PHP实现短信验证码

本文详细介绍了使用PHP实现手机短信验证码的过程,包括获取验证码事件时的手机号验证,通过ajax异步请求生成并发送验证码,以及注册时验证验证码和会员信息的步骤,确保用户信息安全并防止重复注册。
摘要由CSDN通过智能技术生成

手机验证码流程:


获取手机验证码事件:正则验证手机号,将手机号码和验证码作为参数异步访问手机验证码ajax页面


手机验证码ajax页面:验证验证码,生成手机验证码,生成流水号,引用接口页面发送验证码,如果成功则将验证码信息写入数据库


注册按钮事件:将手机号和手机验证码作为参数传入注册ajax页面


注册ajax页面:判断手机验证码是否正确,判断会员是否重复,将用户信息写入数据库


总之,验证完验证码就发送手机验证码,之后只验证手机验证码


//手机验证码ajax页面
if($p['act']=="telcode"){
    //验证验证码
    $code = trim($p['code']);
    if($code!=$_SESSION["login_check_num"]){
        echo "codeHad";
    }else{
    
        //手机号
        $tel = trim($p['tel']);
        
        //生成手机验证码
        $code = "";
        for($i=0;$i<4;$i++){
            $code .= rand(0,9);
        }
        
        //流水号
    	list($usec, $sec) = explode(" ", microtime());
    	$time = (float)$usec + (float)$sec;
    	
    	
        //发送验证码
        $sendSms->SpCode = '';//企业编号
        $sendSms->LoginName = '';//用户名称
        $sendSms->Password = '';//用户密码
        $sendSms->MessageContent = '您的验证码为'.$code;//短信内容
        $sendSms->UserNumber = $tel;//手机号码
        $sendSms->SerialNumber = $time;//回执流水号,时间格式精确到毫秒
        $sendSms->ScheduleTime = '';//空为立即发送
        $sendSms->ExtendAccessNum = '';//检测方式参数
        $res = $sendSms->send();//send方法,返回布尔值
        //如果发送成功则写入数据库
        if($res){
            $sql = "INSERT INTO #__telcode
            SET tel = '$tel',
            code = '$code',
            time = '$time'";
            $db_my->query ($sql);
            echo 'success';
        }else{
            echo 'smsHad';
        }
        
        
        return;
    }
}


//注册ajax页面
if($p['act']=="reg_oa"){
		$username=trim($p['username']);
		$userpwd=trim($p['password']);
		$reg_rand = trim($p['reg_rand']); 
		$group_id=trim($p['group_id']); 
		$tel=trim($p['tel']); //手机号码
		$reg_tel = trim($p['reg_tel']);//获取手机验证码
        $uuid=str_replace('{','',guid());
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值