php使用thinkPHP验证码登录

使用thinkphp自带的验证,实现登录页面的账号密码+验证码的验证

<?php
    namespace Admin\Controller;
    use Think\Controller;
    use Think\Verify;

    class LoginController extends Controller{

        public function login(){
            if($_POST){
                $obj = new Verify();
                if($obj->check(I('post.yanzhengma','','trim'))){
                   // 注释部分为另外一种从数据库中验证密码的方法
                   // $data['name'] = I('post.user_name');
                   // $data['psd'] = I('post.password');
                   // $row = M('user')->where($data)->find();
                    $name = I('post.user_name');
                    $psd = I('post.password');
                    $str = 'name ="'.$name. '" and tel = "'.$psd.'"';
                    var_dump($str);
                    $row = M('user')->where($str)->find();
                    if($row)
                        $this->redirect("Index/index");
                    else
                        $this->redirect('login','',1,'用户名或密码错误');
                }
                else{
                    $this->redirect('login','',1,'验证码错误');
                }
            }
            $this->display();
        }

        public function verifyImg(){
            //设置验证码的宽高字体大小以及验证码的个数,设计其他的参照Think\Verify里面的设置
            $config=array(
                'imageW'    => 150,
                'imageH'    => 40,
                'fontSize'  => 20,
                'length'    => 4
            );
            $obj = new \Think\Verify($config);
            $obj->entry();
        }
    }

表单部分

<form action="login" method="post">
                                    <table valign="top" width="50%">
                                        <tr><td colspan="2"><h4 style="letter-spacing:1px;font-size:16px;">RainMan 网站管理后台</h4></td></tr>
                                        <tr><td>管理员:</td><td><input type="text" name="user_name" value="" /></td></tr>
                                        <tr><td>密&nbsp;&nbsp;&nbsp;&nbsp;码:</td><td><input type="password" name="password" value="" /></td></tr>
                                        <tr><td>验证码:</td>
                                            <td><input type="text" name="yanzhengma" value="" style="width:80px;"/></td>
                                            <td><img src="__URL__/verifyImg" onclick="this.src='__URL__/verifyImg/'+Math.random()" alt=""/></td>
                                         </tr>
                                        <tr class="bt" align="center"><td>&nbsp;<input type="submit" value="登陆" /></td><td>&nbsp;<input type="reset" value="重填" /></td></tr>
                                    </table>
                                </form>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值