ajax自动验证登录注册_php实例_脚本之家,父类及表单验证

图片 6

动态验证:

以此知识点,就能够透过“登入”和“注册”的页面来学学那个知识点了

1.建多个调控器,做表单操作

率先先做叁个“登入”成效
生机勃勃、登入成效(父类)
(1)登陆的调控器
在本人的调整器文件夹中新建一个登入调节器
自家的门道是这样的:
图片 1

show(); } else //如果$_POST不为空,走验证,验证是否成功,添加数据库 { $y = D; $arr = array(//造一个验证规则 array(‘uid‘,‘require‘,‘用户名不能为空!‘,0), array(‘pwd‘,‘pwd1‘,‘输入的密码不一致‘,0,‘confirm‘),//相等验证:confirm(验证表单中的两个字段是否相同,定义的验证规则是一个字段名),意思是pwd1必须为字段 array(‘email‘,‘email‘,‘邮箱格式不正确‘,0), array(‘name‘,‘/^[1-9]d{5}[1-9]d{3}d{3}$/‘,‘身份证号不正确‘,0,‘regex‘),//正则表达式, array(‘age‘,‘18,50‘,‘年龄不在范围内‘,0,‘between‘)//范围验证 ); if->create//$y->validate,添加之前执行验证规则 { $y->add(); } else { die; } } } }

然后里面要书写正确工夫够,当中要有命名空间,还会有后续父类的调整器

2.对应调节器方法的html页面:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
namespace HomeController;
use ThinkController;
class LoginController extends Controller
{
    public function denglu()
    {
        if(empty($_POST))   //判断传过来的值是不是空的
        {
            $this->show();   //空的显示页面
        }
        else
        {
                 
        }
     
    }
}
无标题文档 

(2)编写登录的页面 

ajax:

自家的这几个页面作者放在了

1.建一个调控器,做表单操作

图片 2

create; $this->ajaxReturn; }else{ $this->ajaxReturn,"eval"); } }}

本条登陆页面都以写过众多遍了,就不解释了,这里用的要么表单成分

2.对应调控器方法的html页面:

1
2
3
4
5
6
7
<form action="__ACTION__" method="post">
    <div>用户名:<input type="text" name="uid" /></div>
    <br />
    <div>密 码:<input type="password" name="pwd" /></div>
    <input type="submit" value="登录" />
         
</form>
用户注册


 用户名:
 密码:
 名称:
 邮箱:
 身份证号:
  $.click{ var uid = $; var pwd = $; var name = $; var email = $; var age = $; $.ajax({ url:"__CONTROLLER__/addchuli", data:{uid:uid,pwd:pwd,name:name,email:email,age:age}, dataType:"TEXT", type:"POST", success: function; } }); });

看下基本的周转页面效果!!注意浏览器的地址栏的书写:

如上所述是我给大家介绍的Thinkphp框架 表单自动验证登入注册
ajax自动验证登入注册,希望对大家具备助于,即使大家有别的疑问请给作者留言,笔者会及时还原我们的。在那也特别感激大家对剧本之家网址的支撑!

图片 3

(3)补充php页面中的不然语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
else
{
    $u = M("user");  //造表  
    $uid $_POST["uid"];  //接收传出过来得用户名
    $pwd $_POST["pwd"];  //接收传过来的密码
    $attr $u->find($uid);  //查找一条数据
 
    f($attr["password"]==$pwd && !empty($pwd))  //判断密码是不是相等还有是不是空的
    {
        session("uid",$uid);  //session存住用户名
        $this->success('登录成功!',U('Home/shouye'));   //跳转页面("提示信息","跳转的页面","时间")
    }
    else
    {
        $this->error("登录失败!");  
    }
}

运作看下结果:

1)输入账号和密码,密码是错误的时

图片 4

2)输入账号和密码,密码是没有错的时

图片 5

3)时间已过,跳转到首页面

图片 6

这么有个bug正是,这几个首页即使未有登入也足以查看这一个页面,所以我们要加一个口径,来剖断这一个从未登入时,不能走这么些页面,也正是重返登入页面,不过每种方法都要矢口不移就能够来得很麻烦,又不可能直接改变原调控器文件,所以,可以在他们中间在建三个调节器文件,作为她们的大桥

(4)搭建的她们中间的桥梁

(4.1)新建的三个调控器类文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
namespace HomeController;
use ThinkController;
class FuController extends Controller
{
    //如果一个类要实例化,要使用一个构造方法__construct()
    public function __construct()
    {
        //调用父类的构造:执行父类之后再用自己的
        parent::__construct(); 
         
        //判断session是否存在
        if(!session('?uid'))
        {
          $this->success('请先登录!',U('Login/denglu'));
          exit;
        }  
         
    }
}

(4.2)那样未来,将除了Login的调整器外,其余的都要改革成那桥梁调整器类

1
2
3
4
5
namespace HomeController;
use HomeControllerFuController;  //使用桥梁的控制器类
class HomeController extends FuController  //继承的就不是原类了,而是写的控制器类文件
{
}

运维之后查看效果,直接登入首页的页面,会师世上面包车型客车页面

发表评论

电子邮件地址不会被公开。 必填项已用*标注