zoukankan      html  css  js  c++  java
  • thinkphp用ajax注册及检测个人见解

    注册页四栏:  1.用户名
    
             2.密码
    
            3.二次输入密码
    
            4.昵称
    
    前端代码略,看核心部分.
    
    
    1.用户名前端ajax
    $("#uid").blur(function(){
            //取数据
        var uid = $(this).val();
            
            //取数据库进行匹配
           $.ajax({
                       url:"__CONTROLLER__/jiance",   //jiance控制器在TP的路径
                    data:{uid:uid},
                    type:"POST",
                    dataType:"JSON",
                    success: function(data){
                            if(data.trim()=="OK")
                            {
                                $("#tishi").html("该用户名可用");
                    $("#tishi").css("color","green");
                  }
                  else
                  {
                    $("#tishi").html("该用户名不可用!");
                    $("#tishi").css("color","red");
                  } } }) })
    1.使用blur事件注册用户名,当用户输入用户名结束,鼠标点击用户名输入栏以外区域,若输入栏后面提示绿色信息用户名可用,反之不可用.
    1.TP内用以验证用户名的后台jiance控制器
    <?php namespace HomeController; use ThinkController; class LoginController extends Controller{  //注册,登录继承系统父类 public function jiance(){ $uid = $_POST["uid"]; $n = M("user"); $arr = $n->where($uid)->find($uid); //此处逻辑困扰我良久 之前错误代码 $arr = $n->where($uid=="uid")->count("*"); if($arr["uid"]==$uid)                           if($arr){                                                } {                                          $this->show(); $this->show();                               $this->ajaxReturn($arr) $this->ajaxReturn("NO");                         } } else { $this->ajaxReturn("OK"); $this->show(); } } }

    2、3密码问题
    前端JS代码
    function validate() {
                      var pwd1 = document.getElementById("pwd").value;
                      var pwd2 = document.getElementById("pwd1").value;
    
        		<!-- 对比两次输入的密码 -->
                      if(pwd1 == pwd2) {
                          document.getElementById("tishi1").innerHTML=
                          "<font color='green'>两次密码相同!</font>";
                          
                          document.getElementById("submit").disabled = 
                          false;
                      }
                      else {
                          document.getElementById("tishi1").innerHTML=
                          "<font color='red'>两次密码不相同!</font>";
                          document.getElementById("submit").disabled =
                          true;
                      }
                  }
    
    1.拉取两个div的值赋值给两个变量,判断两个变量是否相等.
      如果相等,写入提示"密码相同",执行代码.
      如不相等,写入提示"两次密码输入不同",提交功能不执行.
     

     后台zhuce控制器

    <?php
    namespace HomeController;
    use ThinkController;
    class LoginController extends Controller{
    	
    	public function zhuce(){
    		$uid = $_POST["uid"];
    		$pwd = $_POST["pwd"];
    		$name = $_POST["name"];
    		if($uid==uid){
    			$this->show();
    		}else{
    			$n = M("user");
    		$n->create();
    		$arr = $n->add();
    		$this->ajaxReturn($arr,"TEXT");
    		$this->show();
    		}
    		
    	}
    	
    }
    

     1.往后台发送三个参数 如果数据库的uid 与 $uid相同 那么直接显示页面

               反之 1.实例化user模型    

                  2.根据表单提交的POST数据创建数据对象 

                  3.调用添加方法 

                  4.返回数据

                  5.显示页面

                          
    
  • 相关阅读:
    leetcode@ [300] Longest Increasing Subsequence (记忆化搜索)
    leetcode@ [200] Number of Islands
    JMETER压力测试报错:JAVA.NET.BINDEXCEPTION: ADDRESS ALREADY IN USE: CONNECT
    压力测试报告模版
    Jmeter学习—004—使用代理录制脚本—HTTP代理服务器(APP、web皆可)
    怎么用fiddler抓APP的包
    Jmeter录制脚本过程及Could not create script recorder报错、您的连接不是私密连接报错
    Github使用说明 --整理者米米
    Anaconda详细安装使用教程
    运用MQTT-JMeter插件测试MQTT服务器性能
  • 原文地址:https://www.cnblogs.com/zhangbaobao/p/7199557.html
Copyright © 2011-2022 走看看