tinkphp登录验证码的使用
登录和验证(控制器)
<?php namespace Come\Controller; use Think\Controller; class RenController extends Controller { public function denglu() { //var_dump(get_defined_constants(true)); // 判断提交方式 if (IS_POST) { // 实例化users对象
$users = D('users'); // 自动验证 创建数据集 if (!$data = $users->create()) { // 防止输出中文乱码 header("Content-type: text/html; charset=utf-8"); exit($users->getError()); } // 组合查询条件 $where = array(); $where['uid'] = $data['uid'];//取输入的用户名 $result = $users->where($where)->field('uid,pwd')->find(); // 验证用户名 密码 if ($data['uid'] == $result['uid']) //判断用户名是否正确 { if ($data['pwd'] == $result['pwd']) //判断密码是否正确
{ $verify = new \Think\Verify();//取显示中的验证码 if ($verify->check(I('post.verify'))) //判断输入的验证码和显示的验证码是否一致 { // 存储session session('uid', $result['uid']); // 当前用户名 $this->success('登录成功,正跳转至首页...',U('Index/index'),3); } else { $this->error('登录失败,验证码不正确!'); } } else { $this->error('登录失败,密码不正确!'); } } else { $this->error('登录失败,用户名不正确!'); } } else { $this->display(); } } * 验证码 */ public function verify() { // 实例化Verify对象 $verify = new \Think\Verify(); // 配置验证码参数 $verify->fontSize = 14; // 验证码字体大小 $verify->length = 4; // 验证码位数 $verify->imageH = 34; // 验证码高度 $verify->useImgBg = false; // 开启验证码背景 $verify->useNoise = false; // 关闭验证码干扰杂点 $verify->entry(); }
登录页面:
<body style=" background-color:#099"> <div class="container"> <!--登录--> <div class="row"> <div class="col-xs-12 deng"> <div class="panel panel-warning p1"> <div class="panel-heading"> <h3 class="panel-title">留言板</h3> </div> <div class=" panel-body p2"> <div class="input-group" style="margin-top:10px;color:#5f5f5f"> <h4>请使用账号和密码登录</h4> </div> <form action="__ACTION__" method="post"> <div class="input-group" style="margin-top:20px"> <span class="input-group-addon">用户名</span> <input id="uid" type="text" class="form-control" name="uid" placeholder="username" > </div> <div class="input-group" style="margin-top:20px"> <span class="input-group-addon">密码 </span> <input id="pwd" type="password" class="form-control" name="pwd" placeholder="password"/> </div> <div class="input-group has-feedback "> <input type="text" name="verify" class="form-control" placeholder="验证码" style="width:100px;" /> <!--<span class="glyphicon glyphicon-qrcode form-control-feedback" style="right:120px;"></span>--> <span><img class="verify" src="{:U(verify)}" alt="验证码" onClick="this.src=this.src+'?'+Math.random()" /></span> </div> <div class="input-group" style="margin-top:20px"> <button id="login" type="submit" class="btn btn-danger" >登 录</button> </div> </form> </div> </div> </div> </div> </body>
//判断用户名是否正确