ajax验证用户登陆及记住密码

本文介绍了一个前端登录页面的设计与实现,包括JS验证代码详解及记住密码功能的实现方式。

一个人独自负责一个项目,正好记下以前没实现过的技术点,今天就从登陆功能开始,前端是js验证,后端是php脚本验证并且添加了记住密码功能。


上图可以看出,前端 西安嘉信铁路器材有限公司官网(http://www.xianjiaxin198.com/主要的技术点是验证用户名和密码是否输入并给予提示,为了提高用户体验,用户一进入该页面,便自动聚焦到用户名输入框,同时在密码输入框里绑定个onkeypress事件,也就是用户输入完密码后, 西安嘉信铁路器材有限公司官网http://www.xianjiaxin198.com/按回车键就可以完成操作,当然了这里做的事ajax验证,同时对于任何验证出错的信息都出现在用户名输入框上(见下图),并且设置了时限为3秒,也就是3秒后消失。


下面为html代码

  1. <form>  
  2.     <span class="error_msg"></span>  
  3.     <p class="pst_relative">  
  4.         <label class="input_msg"></label><input type="text" name="username" placeholder="用户名" class="login_input" maxlength="60">  
  5.     </p>  
  6.     <p class="pst_relative">  
  7.         <label class="input_msg"></label><input type="password" name="passwd" placeholder="密码" onkeydown="keydown(event)" class="login_input" maxlength="60">  
  8.     </p>  
  9.     <p class="clearfix">  
  10.         <span class="fl_left w_b60 psw_info">  
  11.             <input type="checkbox" id="remmberpwd">  
  12.             <label for="remmberpwd">记住密码</label>  
  13.         </span>  
  14.         <a class="fl_right psw_info" href="#">忘记密码?</a>  
  15.     </p>  
  16.     <p class="clearfix">  
  17.         <input class="fl_left btn btn_login" type="button" value="登   录">  
  18.         <a class="fl_right log_rega" href="#">免费注册</a></p>  
  19. </form>  

下面为js代码验证代码( 西安嘉信铁路器材有限公司官网http://www.xianjiaxin198.com/)

  1. $(function() {  
  2.     var height = $(document).height();  
  3.     var bgheight = $(".login_bg").height();  
  4.     $(".login_bg").css({"height": height + "px"});  
  5.   
  6.     $(".error_msg").hide();  
  7.   
  8.     // 默认账号输入框获得焦点  
  9.     $('input[name=username]').focus();  
  10.   
  11.     // 点击登陆  
  12.     $('.btn_login').click(function() {  
  13.         var username = $.trim($('input[name=username]').val());  
  14.         var passwd = $.trim($('input[name=passwd]').val());  
  15.         var remember = $('#remmberpwd').is(':checked') ? 1 : 0;  
  16.         if (username == '') {  
  17.             $(".error_msg").html('请填写用户名');  
  18.             $(".error_msg").show().fadeOut(2000);  
  19.             $('input[name=username]').focus();  
  20.             return false;  
  21.         } else if (passwd == '') {  
  22.             $(".error_msg").html('请填写密码');  
  23.             $(".error_msg").show().fadeOut(2000);  
  24.             $('input[name=passwd]').focus();  
  25.             return false;  
  26.         }  
  27.   
  28.         // 异步提交  
  29.         $.post('url''username=' + username + '&password=' + passwd + '&remember=' + remember, function(json) {  
  30.   
  31.             // 验证失败  
  32.             if (json.status == 0) {  
  33.                 $(".error_msg").html(json.message);  
  34.                 $(".error_msg").show().fadeOut(2000);  
  35.   
  36.             // 成功  
  37.             } else {  
  38.                 console.log('success');  
  39.                 //location.href = '';  
  40.             }  
  41.         }, 'json')  
  42.     })  
  43. });  
  44.   
  45. // 判断回车  
  46. function keydown(e){  
  47.     var e = e || event;  
  48.     if (e.keyCode==13) {  
  49.         $(".btn_login").click();  
  50.     }  
  51. }  

认真看了下js验证代码后,应该知道有个remember变量,这个就是记住密码的,传到后台,php脚本通过接收该值,如果为1则说明需要记住密码,这里的技术点主要是php的一个方法setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] ),记住密码就利用了其中的第三个参数expire, 西安嘉信铁路器材有限公司官网http://www.xianjiaxin198.com/那么在接收值为1时,便设置expire相关的过期时间,一般为1天也就是 setcookie('id',1,strtotime('+1 days')),同时要注意,由于cookie是存放在客户端的,因此那个id的值应该要加密,也就是存储的加密,提取的依据存储时加密规则反着来提取既可。记住密码后,那么下次再登陆时,便可以在相关的方法里这么写着

  1. // 首页登录  
  2. public function index() {  
  3.   
  4.     if (isLogin()) {  
  5.         echo 'you have already login in';  
  6.     } else {  
  7.         $this->display();  
  8.     }  
  9. }  

看到上面的代码应该知道isLogin就是验证用户之前是否已经记住密码了吧。


ok,就记到这,这个点过去了, 西安嘉信铁路器材有限公司官网http://www.xianjiaxin198.com/这个项目还有好多没的点,以后有的是时间写。


转自:http://blog.youkuaiyun.com/molaifeng/article/details/10474509

    西安嘉信铁路器材有限公司官网http://www.xianjiaxin198.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值