ajax验证码

前端之家收集整理的这篇文章主要介绍了ajax验证码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

vcode.PHP

  1. <?PHP
  2. /*
  3. * #
  4. * 开启session
  5. * 随机生成4位数的验证码(包涵字母或数字)
  6. *$te
  7. *$im
  8. *$bg背景色
  9. * #*/
  10. session_start();
  11. for($i=0;$i<4;$i++){$rand.=dechex(rand(1,15));}
  12. $_SESSION[check_pic]=$rand;
  13. $im=imagecreatetruecolor(50,18);
  14. $bg=imagecolorallocate($im,0);
  15. $te=imagecolorallocate($im,255,255);
  16. imagestring($im,rand(1,3),20),rand(0,5),$rand,$te);
  17. Header("Content-type: image/PNG");
  18. imagejpeg($im);
  19. //echo $_SESSION[check_pic];
  20. ?>

index.PHP
  1. <?PHP
  2. //导入基本配置文件
  3. header('Content-Type:text/html;charset=GB2312');
  4. include_once("admin_global.PHP");
  5. /*
  6. * 如果post会来的<用户名>和<密码>不为空,
  7. 那么进行判断用户是否为管理员
  8. */
  9. if(!empty($_POST[username])&& !empty($_POST[password])) $db->Get_user_login($_POST[username],$_POST[password]);
  10. ?>
  11. <html>
  12. <script language="JavaScript" type="text/javascript" src="ajaxs/vcode_js.js"></script>
  13. <head>
  14. <Meta http-equiv='Content-Type' content='text/html; charset=gb2312'>
  15. <Meta name='Author' content='Alan'>
  16. <link rev=MADE href='mailto:haowubai@hotmail.com'><title>后台管理</title>
  17. <link rel='stylesheet' type='text/css' href='images/private.css'>
  18. <script> if(self!=top){ window.open(self.location,'_top'); } </script>
  19. </head>
  20.  
  21. <body>
  22.  
  23. <br><br><br>
  24.  
  25. <form action="" method="post">
  26. <table border=0 cellspacing=1 align=center class=form>
  27. <tr>
  28. <th colspan="2">用户登录</th>
  29. </tr>
  30. <tr>
  31. <td align="right">登录用户:</td>
  32. <td><input type="text" name="username" value="" size="20" maxlength="40"/> </td>
  33. </tr>
  34. <tr>
  35. <td align="right">登录密码:</td>
  36. <td><input type="password" name="password" value="" size="20" maxlength="40"/> </td>
  37. </tr>
  38. <tr>
  39. <td align="right">验证码:</td>
  40. <td><input type="text" name="yzm" value="" size="20" maxlength="40" onkeyup="javascript:vcode_check('yzm')"/>
  41. <img id=vcode_img src="ajaxs/vcode.PHP" alt="看不清?点击换一张" align="absmiddle" onclick="javascript:this.src='ajaxs/vcode.PHP?image='+new Date().getTime();"/>
  42. <span id=vcode_tx></span>
  43. </td>
  44. </tr>
  45. <tr>
  46. <td colspan="2" align="center" height='30'>
  47. <input type="submit" name="update" value=" 登录 " onclick="return check();"/>
  48. </td>
  49. </form>
  50.  
  51. </tr>
  52. </table>
  53. </body></html>

vcode_check.PHP
  1. <?PHP
  2. /*
  3. * Created on 2013-2-16
  4. *
  5. * To change the template for this generated file go to
  6. * Window - Preferences - PHPeclipse - PHP - Code Templates
  7. */
  8. session_start();
  9. //include("../conn/connDB.PHP");
  10. header('Content-Type:text/html;charset=GB2312');
  11. $vocode=$_GET["vocode"];
  12.  
  13. if(!empty($vocode)){
  14. if($vocode==$_SESSION[check_pic]){
  15. //填写正确
  16. /*echo "<span style='width:27px; height:19px; background:url(images/icon.png) repeat-y; background-position:-25px 0px
  17. '></span>";*/
  18. echo "2";
  19. }else{//echo "<font color=red> 验证码有误:".$_SESSION[check_pic]."</font>";
  20. /*echo "<span style='width:27px; height:19px; background:url(images/icon.png) repeat-y; background-position:0px 0px
  21. '></span>";*/
  22. echo "1";
  23. }
  24. }else{
  25. //echo "验证码不能为空!";
  26. echo "0";
  27. }
  28.  
  29. ?>

vcode_js.js
  1. /*
  2.  
  3. GetXmlHttpObject():
  4. This function is checked for brower which is different.
  5. And choose right brower,to create XMLHttpRequest object.
  6. */
  7. var xmlHttp;
  8. var bl="0";
  9. function GetXmlHttpObject()
  10. {
  11. try{// Firefox,Opera 8.0+,Safari
  12. xmlHttp=new XMLHttpRequest();
  13. }
  14. catch (e)
  15. {// Internet Explorer
  16. try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}
  17. catch (e){xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
  18. }
  19. if(!xmlHttp){
  20. alert("Cant Not Create XMLHttpRequest Object,Please Choose Other Brower");
  21. }
  22. return xmlHttp;
  23. }
  24.  
  25. function vcode_check(id){
  26. GetXmlHttpObject();
  27. var str=document.getElementById(id).value;
  28. var url="ajaxs/vcode_check.PHP?vocode="+str;
  29. xmlHttp.onreadystatechange=DealData;
  30. xmlHttp.open("GET",url,true);
  31. xmlHttp.send(null);
  32. }
  33. function DealData(){
  34. if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
  35. {
  36. if(xmlHttp.responseText=="0"){
  37. bl="0";
  38. document.getElementById("vcode_tx").innerHTML="value=0";}
  39. else if(xmlHttp.responseText=="1"){
  40. bl="1";
  41. document.getElementById("vcode_tx").innerHTML="<font color=red>worng</font>";}
  42. else if(xmlHttp.responseText=="2"){
  43. bl="2";
  44. document.getElementById("vcode_tx").innerHTML="right";}
  45. }
  46. }
  47.  
  48. function check(){
  49. if(bl=="0"){alert("vocode is null");return false;}else{
  50. if(bl=="1"){alert("vocode is worng!please try again");return false;}
  51. else if(bl=="2"){;return true;}}
  52. }

猜你在找的Ajax相关文章