我们在登录一个网站的时候,往往为了安全性 都会让我们输入验证码,上个阶段做项目的时候,我们也有研究过验证码,做了一个比较简单的,
最近这记性着实差,赶紧记录下来,防止到最后都忘干净了。。。。
下面是我们用到的html部分的代码:
<div style="margin-left:510px;margin-top:10px;margin-bottom:125px"> <div> <span style="color:white; font-weight:bolder; font-size:18px">工号:</span> <input type="text" class="dl" id="uid"/> <span style="color:white; font-weight:bold; font-size:18px" class="ts" id="uidts"></span> </div> <br /> <div> <span style="color:white; font-weight:bolder; font-size:18px">密码:</span> <input type="password" class="dl" id="pwd" /> <span style="color:white;font-weight:bold; font-size:18px" class="ts" id="pwdts"></span> </div> <br /> <div> <span style="color:white; font-weight:bolder; font-size:18px;margin-left: -2.5%;">验证码:</span> <input type="text" class="dl" id="sryzm" /> <span id="ysyzm" style="color:white; font-weight:bolder; font-size:18px; min-70px"></span> <input id="sxyzm" type="button" class="btn btn-default" value="刷新" style="font-weight:200" /> <span style="color:white;font-weight:bold; font-size:18px" class="yzmts" id="yzmts"></span> <br /><br /> </div> <div style="clear:both"></div> <div style="margin-left:100px;"> <input type="button" class="btn btn-default" id="btn" value="登录" style="font-weight:bolder" /> </div> </div>
把登录和注册都写入了,我这里只展示一下验证码部分的图片
如图所示:
下面就是jquery部分了,当然是用jquery必须要引入jquery包,我只是为了做个记录,就不多写了
var ysyzm = ""; var sryzm = ""; $(document).ready(function(e) { var str = "qgfh12kjQWFEfEW3EsaeWE544ssgW6GGGgu5mWEE6777EEWW7b67fec"; var n = 5, s = ""; for(var i = 0; i < n; i++){ var rand = Math.floor(Math.random() * str.length); s += str.charAt(rand); } $("#ysyzm").html(s); ysyzm = s; $("#sxyzm").click(function(){ s=""; for(var i = 0; i < n; i++){ var rand = Math.floor(Math.random() * str.length);//指定选取位置 s += str.charAt(rand);//指定选取字符 /*random() 方法可返回介于 0 ~ 1 之间的一个随机数。 Math.floor 数学函数,求一个浮点数的地板,就是求一个最接近它的整数,它的值小于或等于这个浮点数。 charAt(int index)方法是一个能够用来检索特定索引下的字符的String实例的方法. charAt()方法返回指定索引位置的char值。索引范围为0~length()-1. 如: str.charAt(0)检索str中的第一个字符,str.charAt(str.length()-1)检索最后一个字符.*/ } $("#ysyzm").html(s); ysyzm = s; });
写到这里的话,就是简单的验证码可以用了,但是区分大小写的,但是我们看到的有很多的网站验证码是不区分大小写的,也是为了增加客户的体验
那么我们在点登陆的时候 就要处理一下 验证码了
$("#btn").click(function(){
sryzm = $("#sryzm").val();
//取用户名和密码
var a = $("#uid").val();
var b = $("#pwd").val();
//alert(ysyzm);alert(sryzm);
var aa = ysyzm.toLowerCase();
var bb = sryzm.toLowerCase();
if(aa==bb)
{
$.ajax({
url:"loginchuli.php",
data:{a:a,b:b},
type:"POST",
dataType:"TEXT",
success:function(data){
if(data.trim()=="0")
{
window.location.href="kuangjia.php";
}
else if(data.trim()=="011")
{
window.location.href="../club1/kuangjia.php";
}
else if(data.trim()=="1")
{
alert(data);
$("#uidts").html(" 请输入用户名!");
$(".dl").css("border-color","");
$("#pwdts").html("");
$("#uid").css("border-color","#990000");
}
else if(data.trim()=="2")
{
alert(data);
$("#pwdts").html(" 请输入密码!");
$(".dl").css("border-color","");
$("#uidts").html("");
$("#pwd").css("border-color","black");
}
else if(data.trim()=="3")
{
alert(data);
$("#uidts").html(" 请输入用户名!");
$(".dl").css("border-color","#990000");
$("#pwdts").html(" 请输入密码!");
}
else
{
alert(data);
$(".ts").html(" 用户名或密码错误!");
$(".dl").css("border-color","black");
}
}
});
}
else
{
$("#yzmts").html("您输入的验证码有误!");
}
})
});
处理页面的代码如下:
<?php session_start(); $num = $_POST["a"]; $pwd = $_POST["b"]; $_SESSION["num"]=$num; include("DBDA.class.php"); $db = new DBDA(); $sql = "select pwd from login where num='{$num}'"; $sql1 = "select code from login where num='{$num}'"; $zwdh = $db->StrQuery($sql1); $mm = $db->StrQuery($sql); if($mm == $pwd && $pwd!="") { $_SESSION["zwdh"]=$zwdh; echo "0"; if($num=="n007") { echo "11"; } } else if($uid=="" && $pwd=="") { echo "3"; } else if($uid=="" || $pwd=="") { if($uid=="") { echo "1"; } else if($pwd=="") { echo "2"; } } else { echo "4"; }
这样一个完整的登录就完成了