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( 

    /*\     \     \     \     \     \   ); 

  $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(\将随机值写入cookie或session  //是否支持gd库

 if(function_exists(\  {

  header (\   $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()p,rand()0,$black);   }

  imagejpeg($img);   imagedestroy($img);  }

 elseif (function_exists(\ {

  header (\  $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()p,rand()0,$black);   }

  imagepng($img);   imagedestroy($img);  }

 elseif (function_exists(\ {

  header(\  $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()p,rand()0,$black);   }

  imagegif($img);   imagedestroy($img);  }

 elseif (function_exists(\ {

  header (\

  $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()p,rand()0,$black);   }

  imagewbmp($img);   imagedestroy($img);  }  else  {

  //不支持验证码

  header(\   header(\

  header(\   header(\

  $fp = fopen(\  } }

ShowKey(); ?> 调用方法: 代码如下: <img src=\name=\ onClick=\

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

id=\

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4