足球游戏_中国足彩网¥体育资讯$

PHP编写登录验证码功能 附调用方法
来源:易贤网 阅读:684 次 日期:2016-08-20 13:41:19
温馨提示:易贤网小编为您整理了“PHP编写登录验证码功能 附调用方法”,方便广大网友查阅!

本文实例为大家分享了一个PHP写的登录验证码功能,供大家参考,具体内容如下

ShowKey.php

<?php

session_start();

//设置COOKIE或Session

function esetcookie($name,$str,$life=0){

//本函数将字符串 str 全部变小写字符串使验证码输入不区分大小写----在提交表单进行session比较同样需要次函数转化

 $_SESSION[$name]=strtolower($str);

}

//获取随机字符 此函数区分字符大小写 如果不区分大小写可加入函数strtolower

function domake_password($len) 

  $chars = array( 

    /*"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", 

    "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", 

    "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", 

    "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", 

    "S", "T", "U", "V", "W", "X", "Y", "Z",*/ "0", "1", "2", 

    "3", "4", "5", "6", "7", "8", "9"

  ); 

  $charsLen = count($chars) - 1; 

  shuffle($chars);// 将数组打乱

  $output = ""; 

  for ($i=0; $i<$len; $i++) 

  { 

    $output .= $chars[mt_rand(0, $charsLen)]; //获得一个数组元素

  } 

  return $output;

//显示验证码

function ShowKey(){

 $key=domake_password(4);//获取随机值

 $set=esetcookie("checkkey",$key);//将随机值写入cookie或session

 //是否支持gd库

 if(function_exists("imagejpeg")) 

 {

  header ("Content-type: image/jpeg");

  $img=imagecreate(47,20);

  $blue=imagecolorallocate($img,102,102,102);

  $white=ImageColorAllocate($img,255,255,255);

  $black=ImageColorAllocate($img,71,71,71);

  imagefill($img,0,0,$blue);

  imagestring($img,5,6,3,$key,$white);

  for($i=0;$i<90;$i++) //加入干扰象素

  {

   imagesetpixel($img,rand()%70,rand()%30,$black);

  }

  imagejpeg($img);

  imagedestroy($img);

 }

 elseif (function_exists("imagepng"))

 {

  header ("Content-type: image/png");

  $img=imagecreate(47,20);

  $blue=imagecolorallocate($img,102,102,102);

  $white=ImageColorAllocate($img,255,255,255);

  $black=ImageColorAllocate($img,71,71,71);

  imagefill($img,0,0,$blue);

  imagestring($img,5,6,3,$key,$white);

  for($i=0;$i<90;$i++) //加入干扰象素

  {

   imagesetpixel($img,rand()%70,rand()%30,$black);

  }

  imagepng($img);

  imagedestroy($img);

 }

 elseif (function_exists("imagegif")) 

 {

  header("Content-type: image/gif");

  $img=imagecreate(47,20);

  $blue=imagecolorallocate($img,102,102,102);

  $white=ImageColorAllocate($img,255,255,255);

  $black=ImageColorAllocate($img,71,71,71);

  imagefill($img,0,0,$blue);

  imagestring($img,5,6,3,$key,$white);

  for($i=0;$i<90;$i++) //加入干扰象素

  {

   imagesetpixel($img,rand()%70,rand()%30,$black);

  }

  imagegif($img);

  imagedestroy($img);

 }

 elseif (function_exists("imagewbmp")) 

 {

  header ("Content-type: image/vnd.wap.wbmp");

  $img=imagecreate(47,20);

  $blue=imagecolorallocate($img,102,102,102);

  $white=ImageColorAllocate($img,255,255,255);

  $black=ImageColorAllocate($img,71,71,71);

  imagefill($img,0,0,$blue);

  imagestring($img,5,6,3,$key,$white);

  for($i=0;$i<90;$i++) //加入干扰象素

  {

   imagesetpixel($img,rand()%70,rand()%30,$black);

  }

  imagewbmp($img);

  imagedestroy($img);

 }

 else

 {

  //不支持验证码

  header("content-type:image/jpeg\r\n");

  header("Pragma:no-cache\r\n");

  header("Cache-Control:no-cache\r\n");

  header("Expires:0\r\n");

  $fp = fopen("data/vdcode.jpg","r"); 

 }

}

ShowKey();

?>

调用方法:

代码如下:

<img src="ShowKey.php" name="KeyImg" id="KeyImg"  onClick="KeyImg.src='ShowKey.php?'+Math.random()"> 

以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。

中国足彩网信息请查看网络编程
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 足球游戏_中国足彩网¥体育资讯$ 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:易贤网
云南网警报警专用图标