夺命雷公狗---Thinkphp----10之后台登录.注销一条龙
首先我们还是还是写一个控制器名字叫LoginController.class.php的控制器,首先来写一个code的方法来让验证码先显示出来:
public function Code(){ //创建验证码类的实例 $verify = new \Think\Verify(); //清空ob缓存 ob_clean(); //设置初始化验证码 $verify -> codeSet = "0123456789"; $verify -> length = "4"; $verify -> fontSize = "30px"; $verify -> fonttf = "4.ttf"; $verify -> useCurve = false; $verify -> useNoise = false; //显示验证码,并且保存在session中 $verify -> entry(); //如果感觉不好看可以通过tplx\ThinkPHP\Library\Think\Verify.class.php里面进行设置 }
让后在到登录页面里修改下让验证码可以正常跑起来再说:
让后再写多一段js代码,让验证码可以在点击时候可以变换,
<div class="login"> <h1>Login</h1> <form method="post" action=""__URL__/Login/" > <input type="text" name="username" placeholder="用户名" required="required" /> <input type="password" name="password" placeholder="密码" required="required" /> <input type="text" name="captcha" placeholder="验证码" required="required" /> <img id="code" src="__CONTROLLER__/Code" width="145" height="50" alt="CAPTCHA" border="1" onclick= this.src="index.php?act=captcha&"+Math.random() style="cursor: pointer;" title="看不清?点击更换另一个验证码。" /> <button type="submit" class="btn btn-primary btn-block btn-large">登录</button> </form> </div> <div style="text-align:center;"> </div> <script> window.onload = function(){ document.getElementById("code").onclick = function(){ this.src = "__URL__/code/_/"+new Date().getTime(); } } </script> </body>
然后再来写一个控制器让他对提交过来的数据进行验证:
这里使用了大D,所以要在Model里面进行验证帐号和密码
<?php namespace Admin\Model; use Think\Model; //后台管理员模型 class UserModel extends Model{ //验证用户名和密码 function checkUser($username,$password){ $condition['username'] = $username; //数据库设计的时候这里是username $condition['password'] = md5($password); //数据库设计的时候这里是password if($admin=$this->where($condition)->find()){ //成功,保存session,并且跳转到首页 session('admin',$admin); return true; }else{ return false; } } }
让后我们即可成功通过先验证验证码,在验证帐号和密码来进行登录了,,下一步就是退出登录了,这个也很简单,
//注销 public function logout(){ session(null); $this -> success('恭喜成功退出','Login/login',3); }
让后在后台模型下修改下链接即可,如下所示:
<a href="__MODULE__/Login/logout" target="topFrame" onFocus="this.blur()" class="admin-out">注销</a>
主要加一段代码即可: