注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

面包会有的

php asp 高端网站开发 微信网站开发 视频会议软硬件

 
 
 

日志

 
 

thinkphp 验证码实例  

2016-10-24 21:27:46|  分类: C# |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
官方说明:

效果如下图所示:
thinkphp 验证码实例 - 加菲 - 面包会有的

<form class="form-horizontal" role="form" action="__SELF__" method="post" style="margin:100px;">
<div class="form-group">
    <label for="UserName" class="col-sm-2 control-label white">用户名</label>
    <div class="col-sm-2">
    <input type="text" class="form-control" name="UserName" id="UserName" placeholder="用户名">
    </div>
</div>

<div class="form-group">
    <label for="Password" class="col-sm-2 control-label white">密码</label>
    <div class="col-sm-2">
    <input type="password" class="form-control" name="Password" id="Password" placeholder="密码">
    </div>
</div>

<if condition="$Think.config.LOGIN_VERIFY_CODE eq 1">
<div class="form-group">
    <label for="VCode" class="col-sm-2 control-label white" >验证码</label>
    <div class="col-sm-2">
    <input type="text" class="form-control" name="VCode" id="VCode" placeholder="验证码">
    </div>
    <div class="col-sm-2">
    <img src="{:U('Login/verify_c',array())}" title="点击刷新" id="verify">
    </div>    
</div> 
 </if>
  
<div class="form-group">
    <div class="col-sm-offset-2 col-sm-8">
    <label>
   
    </label>
    </div>
</div>
  
<div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
    <button type="button" class="btn btn-default" id="btnLoginJquery">登录</button>
        <a href="__ROOT__/Admin/Login/LoginOut" class="white" style="margin-left:60px;">退出登录</a>
    </div>
</div>
</form>

bootstrap的相关js和样式表就省略了,直接在官网复制上即可,放多了太乱

<script language="javascript">
$(document).ready(function() {
//点击登陆,post提交
$('#btnLoginJquery').click(function(){
var UserName = $("#UserName").val();
var Password = $("#Password").val();
var VCode = $("#VCode").val();
// alert(UserName);
// alert(Password);
$.ajax({
url:'__CONTROLLER__/LoginIn',
type:'post',
data:"UserName="+UserName+"&Password="+Password+"&VCode="+VCode,
async:true,//false为同步
dataType:'json',
success:function(re) {
if (re.stat * 1 > 0){
alert(re.msg);
window.location = "__ROOT__/Admin/Index/Index";
}else{
alert(re.msg);
}
},
error:function() {
alert('由于网络异常导致操作失败,请刷新页面重试....');
}
}); 
});
//点击更换验证码
$('#verify').click(function(){
var verifyimg = $(this).attr("src");  
$(this).attr("src", verifyimg+'?random='+Math.random());
});
});
</script>


服务器端:LoginController.class.php
/** 
*  
* 验证码生成 
*/  
public function verify_c(){  
$Verify = new \Think\Verify();  
$Verify->expire = 160; //验证码的有效期(秒)
$Verify->fontSize =    20;    // 验证码字体大小
$Verify->length =    4;    // 验证码位数
$Verify->useNoise =    false; // 关闭验证码杂点
$Verify->length = 4;  
$Verify->useNoise = false;  
$Verify->codeSet = '0123456789';  
$Verify->imageW = 160;  
$Verify->imageH = 40;  
//$Verify->expire = 600;
$Verify->fontttf = '2.ttf';
// $Verify->useZh = true; //是否使用中文验证码
// $Verify->seKey = ""; //验证码的加密密钥
$Verify->entry(); 

/**
* 用户提交用户名和密码登录
*/
public function LoginIn(){
if (IS_POST){
$UserName = I("post.UserName","","trim");
$Password = I("post.Password","","trim");
// 检查验证码
if(C("LOGIN_VERIFY_CODE")){
$VCode = I('post.VCode','',"trim"); 
if(!check_verify($VCode)){  
//$this->error("亲,验证码输错了哦!",$this->site_url,9);  
die(json_encode(array("stat"=>"0","msg"=>"验证码错误","data"=>"")));
}
}
}
}

如果想看一下生成的验证码,可在模板中加入:
    <?php
 //   var_dump($_SESSION);
    ?>
  评论这张
 
阅读(64)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017