今天朋友谈起来了随机验证码登录,来了兴致,写个简单的登录。
简单粗暴,直接上代码:
控制器层代码:
<?php
namespace App\Http\Controllers\Login;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Session;
use Illuminate\Support\Facades\Redis;
use App\Models\Login;
class LoginController extends Controller{
//超级管理员登录,唯一的登陆者,超级管理员可以添加管理成员
public function login(){
$result=Login::val_login();//是用静态方法调用model层随机码
return view('login/login',['code'=>$result]);//渲染数据
}
//登录
public function loginInfo(Request $request){
$result=$request->all();//all获取全部数据
// print_r($result);die;
$data=Login::jy_login($result);//是用静态方法调用model层代码
print_r($data);//打印测试
}
}
model逻辑层代码
<?php
namespace App\Models;
use Illuminate\Support\Facades\DB;
use App\News_fenlei\News_fenlei;
use Illuminate\Pagination\Paginator;
use Session;
class Login{
//定义随机数,传递给控制器
public static function val_login(){
$code=rand(1111,9999);
Session::put('code',$code);
return $code;
}
//验证登录
public static function jy_login($result){
$new_code=$result['code'];//表单过来的验证码
$old_code=Session::get('code');//session取出来的
if($new_code!=$old_code){
$status="101";//验证码错误
return $status;
}
//根据用户名查询表单中信息是有存在
$userinfo=DB::table('sc_admin')->where('admin',$result['user'])->first();
// print_r($userinfo);die;
if(!$userinfo){
$status="102";//用户不存在
}else{
if($userinfo->pwd == $result['pwd']){
$status = 103;//密码一致
}else{
$status = 104; //密码错误
}
}
return $status;
}
<form class="" style=" width:300px; float:right; margin-right:50px;">
<h4 class="title_name"><img src="images/login_title.png" /></h4>
<fieldset>
<ul>
<li class="frame_style form_error">
<label class="user_icon iconfont"></label>
<input class="user" type="text" data-name="用户名" id="username" placeholder="用户名" />
</li>
<li class="frame_style form_error">
<label class="password_icon iconfont"></label>
<input class="pwd" type="password" data-name="密码" id="userpwd" placeholder="密码" />
</li>
<li class="frame_style form_error">
<label class="Codes_icon iconfont"></label>
<input name="" class="code" type="text" data-name="验证码" id="Codes_text" placeholder="验证码" />
<div id="codes" class="Codes_region" onclick="sendcode()">{{$code}}</div>
</li>
</ul>
<div class="space"></div>
<div class="clearfix">
<label class="inline">
<input type="checkbox" class="ace">
<span class="lbl">保存密码</span>
</label>
<button type="button" onclick="login()" class="login_btn" id="login_btn"> 登 陆 </button>
</div>
<div class="space-4"></div>
</fieldset>
</form>
js代码:
<script src="{{asset('login')}}/js/jq.js"></script>
<script type="text/javascript">
/*****************登录模块*************/
function sendcode(){
$.ajax({
type:'GET',
url:"{{url('login/login')}}",
data:{
},
success:function(e){
window.location.href="{{url('login/login')}}";
}
})
}
function login(){
var user=$(".user").val();
var pwd = $(".pwd").val();
var code=$(".code").val();
// alert(user+pwd+code);
//传值
$.ajax({
type:"POST",
url:"{{url('login/loginInfo')}}",
data:{
user:user,
pwd:pwd,
code:code
},
success:function(e){
alert(e);
// if(e==103){
// alert('登陆成功');
// window.location.href="{{url('login/shows')}}";
// }else{
// alert('登录失败');
// }
}
})
}
</script>
OK!一个简单的登录完成了,只是判断力是否为空看过你,密码是否正确,用户名与密码一致时,才可以登陆成功!