您的位置:首页 > 编程语言 > PHP开发

ThinkPHP实战之登录

2015-09-20 16:26 701 查看
一、模板页

用到JQ

<script src="/Public/admin/js/jquery-1.7.2.min.js" type="text/javascript"></script>


登录表单有用户名、密码、验证码。

<form>
<p>
<label>用户名:</label>
<input type="text" id="username" name="username" size="20" class="login_input"/>
</p>

<p>
<label>密码:</label>
<input type="password" id="password" name="password" size="20" class="login_input"/>
</p>

<p>
<label>验证码:</label>
<input class="code" id="code" type="text" size="5"/>
<span><img id="get_code" src="/admin/user/verify" alt="" width="75" height="24"
onclick="this.src=this.src+'?'"/></span>
</p>

<div class="login_bar">
<input id="submit" class="sub" type="button" value=" "/>
</div>
</form>

JS部分

{literal}
<script type="text/javascript">
//AJAX
$("#submit").click(function(){
//alert('提交表单了');return false;
if($('#username').val()==''){
alert('请输入用户名');return false;
}
if($('#password').val()==''){
alert('请输入密码');return false;
}
if($('#code').val()==''){
alert('请输入验证码');return false;
}
if($('#code').val().length>0&&$('#code').val().length!=3){
alert('请输入3位英文/数字验证码');return false;
}
if($('#code').val()!=''){
var username=$('#username').val();
var password=$('#password').val();
var code=$('#code').val();
$.ajax(
{
url:'/admin/user/check_verify',
type:"post",
async:true,
data:{'username':username,'password':password,'code':code},
dataType:"html",
//timeout:"1000",
error:function(){
alert("服务加载出错");return false;
},
success:function(data)
{
//alert(data);
if(data==201){
alert('验证码错误');return false;
}else if(data==202){
alert('用户名/密码错误');return false;
}
else if(data==1){
window.location.href='/admin/';
}
}
}
);
}
});
</script>
{/literal}

二、控制器页

//核对验证码 1正确 201 验证码错误 202 用户/密码错误
public function check_verify(){
$code=addslashes($_POST['code']);
$username=addslashes($_POST['username']);
$password=addslashes(md5($_POST['password']));
//echo $code;exit;
$verify = new \Think\Verify();
if($verify->check($code, '')==false){
$data=201;
}else{
$arr['username']=$username;
$arr['password']=$password;
$User = D("User"); // 实例化User对象
if($User->check_admin($arr)==false){
$data=202;
}else{
$_SESSION['username']=$arr['username'];
$data=1;
}
}
echo $data;
}

稍微记录一下,不知道对大家有没有帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  thinkphp ajax 验证码