Home >Backend Development >PHP Tutorial >php验证码 如何弄

php验证码 如何弄

WBOY
WBOYOriginal
2016-06-13 10:12:39759browse

php验证码 怎么弄
跪求高手 加我QQ779846529

------解决方案--------------------
随机选取数字或字母再以图片形式显示出来就行啦
------解决方案--------------------
1、假如你的是login.php页面:在此页面下,
include ("conn.php"); //这个是连接Mysql的
session_start();
echo $_SESSION[check_pic];

if ($_POST) {
$code=$_POST[code];
if($code!=$_SESSION[check_pic])
echo "<script>alert('验证码有误!');location.href='login.php';</script>";

}

?>


 验证码



2、src='inc/vCode.php?tm='+Math.random()中的inc/vCode.php,是指当前目录下的inc文件夹下,要放个vCode.php,你新建个vCode.php,代码如下,你粘贴即可:
/* 
* 放一个font.ttc字体到目录下 
$num 字符个数 
$size 字符大小 
颜色随机 
*/ 
// vCode ********
function vCode($num = 4, $size = 20, $width = 0, $height = 0) { 
session_start();
!$width && $width = $num * $size * 4 / 5 + 5; 
!$height && $height = $size +10; 
// 去掉了 0 1 O l 等 
$str = "23456789abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVW"; 
$code = ''; 
for ($i = 0; $i $code .= $str[mt_rand(0, strlen($str) - 1)]; 
}
$_SESSION[check_pic]=$code;
// 画图像 
$im = imagecreatetruecolor($width, $height); 
// 定义要用到的颜色 
$back_color = imagecolorallocate($im, 235, 236, 237); 
$boer_color = imagecolorallocate($im, 118, 151, 199); 
$text_color = imagecolorallocate($im, mt_rand(0, 200), mt_rand(0, 120), mt_rand(0, 120)); 

// 画背景 
imagefilledrectangle($im, 0, 0, $width, $height, $back_color); 
// 画边框 
imagerectangle($im, 0, 0, $width -1, $height -1, $boer_color); 
// 画干扰线 
for ($i = 0; $i $font_color = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255)); 
imagearc($im, mt_rand(- $width, $width), mt_rand(- $height, $height), mt_rand(30, $width * 2), mt_rand(20, $height * 2), mt_rand(0, 360), mt_rand(0, 360), $font_color); 

// 画干扰点 
for ($i = 0; $i $font_color = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255)); 
imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $font_color); 

// 画验证码 
imagefttext($im, $size, 0, 5, $size +3, $text_color, 'simkai.ttf', $code); 
header("Cache-Control: max-age=1, s-maxage=1, no-cache, must-revalidate"); 
header("Content-type: image/png"); 
imagepng($im); 
imagedestroy($im); 

vCode(4, 20);

// 4个字符,大小为20 
//调用方法:php验证码 如何弄
?>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn