thinkPHP5——ajax注册登录

主要文件:

app\index\model\UsersModel.php文件代码

namespace app\index\model;
use think\Model;

class UsersModel extends Model{
    protected $pk = 'id';//设置主键
}

一、登录

1.login.html

邮箱:
<input type="email" id="email" name="email">
密码:
<input type="password" id="password" name="password" >
<button type="submit" onclick="login_ajax()"> 登录  </button>

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>//jq必须
<script>
function login_ajax(){
    var email=$('#email').val();
    var pas=$('#password').val();
    $.get("http://angryshan.com/index.php/index/login/doLogin.html",
        {"email":email,"password":pas},function(data){
        if(data=='0'){
            window.location="http://angryshan.com/index.php/index/index/index";
        }
        else {
            alert(data);
        }
    });
}
</script>

2.login.php

namespace app\index\controller;
use think\Controller;
use app\index\model\UsersModel;
class Login extends Controller{
    public function doLogin(){
        $user=new UsersModel;
        $user->email = input('email');
        $user->password = input('password');

        $result = $this->validate($user,'Vlogin');
        if(true!==$result){
            echo $result;
        }
        else{
            //验证用户名
            $tn=db('member_content')->where('email',input('email'))->find();
            //验证密码
            $tp=db('member')->where('password',md5(input('password')))->find();
            if(empty($tn)||empty($tp)){
                echo '用户名或密码错误';
            }
            else{
            //验证通过
            //cookie,非法登录
            cookie('id',$tp['username'],3600);
            //验证通过,页面跳转
            //$this->redirect(url('index/index'));
            //传值,判断是否验证通过
            $arr=0;
            echo $arr;
            }
        }
    }
}

二、注册(两者方法差不多)

1.register.html

用户:<input type="text" id="username" name="username">
密码:<input type="password" id="password" name="password">
确认密码:<input type="password" id="repassword" name="repassword" >
邮箱:<input type="email" id="email" name="email">
<button type="submit" onclick="register_ajax()">  注册 </button>

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script>
function register_all(){
    var pas=$('#password').val();
    var repas=$('#repassword').val();
    var email=$('#email').val();

    $.get({url:('../register/register.html')},
        {"password":pas,"repassword":repas,"email":email},
        function(data){
            if (data=='0'){
                var i=window.confirm("注册成功,跳转登录页面");
                if(i!=0){
                    window.location="http://angryshan.com/index.php/index/login/index";
                }
            }
            else {
                alert(data);
            }
    });  
}
</script>

2.Register.php

use think\Controller;
use think\Db;
use app\index\model\UsersModel;

class Register extends Controller{
    public function register(){
        $user=new UsersModel;
        $user->password = input('password');
        $user->repassword=input('repassword');
        $user->email = input('email');

        $result = $this->validate($user,'Vregist');
        if(true!==$result){
            echo $result;
        }
        else{
            $data1=[
                'password'=>md5(input('password'))
            ];
            $data2=[
                'email'=>input('email'),
            ];

           Db('member')->insert($data1)&&Db('member_content')->insert($data2);
           $arr=0;
           /*$result=json_encode($arr);
           header('Content-Type:application/json');//这个类型声明非常关键
           echo $result;*/
           echo $arr;
        }
    }
}

附加注册验证器Vregist.php

namespace app\index\validate;

use think\Validate;

class Vregist extends Validate
{
    protected $rule = [
        'username'=>'require|max:20|unique:member',
        'password'  =>  'require|min:6',
        'repassword'=>'require|confirm:password',
        'email' =>  'require|email|unique:member_content',
        'code'=>'number',

    ];

    protected $message = [
        'username.require'=>'账号不能为空',
        'username.max'=>'账号字数设置不能超过20位',
        'username.unique'=>'该账号已经注册',
        'password.require'  =>  '密码不能为空',
        'password.min'=>'密码不得少于6位',
        'repassword.require'=>'确认密码不能为空',
        'repassword.confirm'=>'两次输入密码不一致',
        'email.require' =>  '邮箱不能为空',
        'code'=>'验证码必须是数字'
    ];

}

 

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,我会尽力回答你的问题。接入腾讯云短信API需要以下几个步骤: 1. 注册腾讯云账号,并开通短信服务。 2. 创建应用,获取 AppID 和 AppKey。 3. 安装腾讯云 SDK。 4. 在 ThinkPHP5 中集成腾讯云 SDK。 5. 编写发送短信的代码。 以下是详细步骤: 1. 注册腾讯云账号,并开通短信服务。 首先,你需要注册一个腾讯云账号,然后在控制台中开通短信服务。在开通短信服务时,你需要填写企业信息并进行实名认证。 2. 创建应用,获取 AppID 和 AppKey。 在腾讯云控制台中创建应用,并获取 AppID 和 AppKey。这些信息将在后面的代码中使用。 3. 安装腾讯云 SDK。 在你的项目中安装腾讯云 SDK。可以通过 Composer 安装,也可以手动下载安装。 4. 在 ThinkPHP5 中集成腾讯云 SDK。 在 ThinkPHP5 中集成腾讯云 SDK,可以在 config.php 配置文件中添加以下配置: ```php // config.php return [ 'qcloud' => [ 'sms' => [ 'app_id' => 'your-app-id', 'app_key' => 'your-app-key', 'template_id' => 'your-template-id', 'sms_sign' => 'your-sms-sign', ], ], ]; ``` 上面的配置中,app_id 和 app_key 是在第二步中获取的,template_id 是短信模板的 ID,sms_sign 是短信签名。 5. 编写发送短信的代码。 在 ThinkPHP5 中发送短信可以通过继承 Qcloud\Sms\SmsSingleSender 类来实现。以下是发送短信的示例代码: ```php use Qcloud\Sms\SmsSingleSender; $appId = config('qcloud.sms.app_id'); $appKey = config('qcloud.sms.app_key'); $templateId = config('qcloud.sms.template_id'); $smsSign = config('qcloud.sms.sms_sign'); $sender = new SmsSingleSender($appId, $appKey); $result = $sender->sendWithParam('86', $mobile, $templateId, $params, $smsSign); if ($result === false) { return '发送短信失败'; } $response = json_decode($result, true); if ($response['result'] !== 0) { return '发送短信失败:' . $response['errmsg']; } return '发送短信成功'; ``` 上面的代码中,$mobile 是接收短信的手机号码,$params 是短信模板中的参数,$result 是发送短信的结果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值