ajax实现用户登录注册和退出

ajax实现用户注册登录和退出

第一步:验证用户名

get
guestbook/index.php
m:index
a:verifyUserName
username:要验证的用户名
返回{
code:返回的信息代码 0=没有错误,1=有错误
message: 返回的信息 具体返回的信息
}

第二步: 用户注册

post
guestbook/index.php
m:index
a:reg
username:要验证的用户名
password:注册密码
返回{
code:返回的信息代码 0=没有错误,1=有错误
message: 返回的信息 具体返回的信息
}

第三步: 用户登录

当登录成功时,调用更新状态函数
post
guestbook/index.php
m:index
a:login
username:要登录的用户名
password:登录密码
返回{
code:返回的信息代码 0=没有错误,1=有错误
message: 返回的信息 具体返回的信息
}

第四步:检验cookie

写一个获取cookie的函数,根据cookie值是否存在来写一个更新用户状态的函数

第五步:用户退出

当用户退出时,调用更新状态函数
post
guestbook/index.php
m:index
a:logout
返回{
code:返回的信息代码 0=没有错误,1=有错误
message: 返回的信息 具体返回的信息
}

(以上是步骤说明和一些后端接口)

完整代码如下

window.onload=function()
{

    var oUsername1=document.getElementById('username1');//用户名框(注册)
    var oVerifyUserNameMsg=document.getElementById('verifyUserNameMsg');//验证验证用户名提示框(注册)
    var oPassword1=document.getElementById('password1');//密码框(注册)
    var obtnReg=document.getElementById('btnReg');//提交按钮(注册)


    var oUsername2=document.getElementById('username2');//用户名框(登录)
    var oPassword2=document.getElementById('password2');//密码框(登录)
    var obtnLogin=document.getElementById('btnLogin');//提交按钮(登录)

    var oReg=document.getElementById('reg');//注册框
    var oLogin=document.getElementById('login');//登录框
    var oUser=document.getElementById('user');//退出框
    var oUserinfo=document.getElementById('userinfo');//用户名(退出框)
    var oLogout=document.getElementById('logout');//退出按钮(退出框)

    function getCookie(key){         //获取cookie值
            var arr=document.cookie.split('; ');
            //console.log(arr);
            for(var i=0;i<arr.length;i++){
                var arr2=arr[i].split('=');
                console.log(arr2);
                if(arr2[0]==key){
                    return arr2[1];
                }
            }
        };
    updataUser();

    function updataUser(oUid){  //更新状态函数
        var oUid=getCookie('uid');
        var oUsername=getCookie('username');

        if(oUid){
            oUser.style.display='block';
            oUserinfo.innerHTML=oUsername;
            oReg.style.display='none';
            oLogin.style.display='none';
        }else{
            oUser.style.display='none';
            oUserinfo.innerHTML="";
            oReg.style.display='block';
            oLogin.style.display='block';
        }

    }
    oUsername1.onblur=function(){    //用户名验证
        ajax('get',"guestbook/index.php",'m=index&a=verifyUserName&username='+this.value,function(data){
            var info=JSON.parse(data);

             oVerifyUserNameMsg.innerHTML=info.message;
             if(info.code){
                oVerifyUserNameMsg.style.color='red';


             }else{
                oVerifyUserNameMsg.style.color='green';
             }
        });
    };
    obtnReg.onclick=function(){     //注册提交按钮
        ajax('post','guestbook/index.php',
            'm=index&a=reg&username='+encodeURI(oUsername1.value)+'&password='+oPassword1.value,
            function(data){
            var info=JSON.parse(data);
            alert(info.message);
            if(!info.code){
                oReg.style.display='none'
            }
        });
    };
    obtnLogin.onclick=function(){        //登录提交按钮
        ajax('post','guestbook/index.php',
            'm=index&a=login&username='+encodeURI(oUsername2.value)+'&password='+oPassword2.value,
            function(data){
                var info=JSON.parse(data);
                alert(info.message);
                if(! info.code){
                    updataUser();
                }

            });

    };

           oLogout.onclick=function(){  //退出提交按钮
            ajax('post','guestbook/index.php',
                'm=index&a=logout',function(data){
                var info=JSON.parse(data);
                alert(info.message);
                if(! info.code){
                    updataUser();
                }

            });
            return false;

           }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值