php 验证码
一个特别简单的PHP验证码的小案例,备注基本都写上了,不明白的可以跟我问哦,知无不言言无不尽。
html文件
文件名:vad-login.htmvl
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>验证码实验</title>
</head>
<body>
<form action="./vad-yz.php" method="POST">
<input type="text" placeholder="请输出验证码" name="code">
<img src="./vad-yanzheng.php" alt=""><br/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
文件名 vad-yanzheng.php
<?php
session_start();
//创建图片
$image = imagecreatetruecolor(100,30);
//创建背景颜色
$bg = imagecolorallocate($image,255,255,255);
//填充背景颜色
imagefill($image,0,0,$bg);
//声明一个空的验证码
$code = '';
//验证码4个字符
for($i=0;$i<4;$i++){
$data = "abcdefghijklmnopqrstuvwxyz3456789";//验证码可以显示的字符
//随机获取一个
//截取, substr(被截取字符串,从第几个,截取几个)
$f = substr($data,rand(0,strlen($data)-1),1);
$code .=$f;//放入验证码里
//创建文字颜色
$fcolor = imagecolorallocate($image,0,0,0);
//吧字符写入到图片 imagestring()
imagestring($image,20,$i*25+10,5,$f,$fcolor);
}
$_SESSION["code"]= $code;//设置session数组
//输出图片
header("content-type:image/png");//告诉浏览器,内容是图片类型
imagepng($image);
?>
文件名 vad-yz.php
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<?php
//提交了验证码才验证
// $_REQUEST 全局数组,接受get,post等
if(isset($_REQUEST["code"])){
if($_REQUEST["code"]==$_SESSION["code"]){
echo "验证通过";
}else{
echo "验证码错误";
}
}else{
echo "请输入验证码";
}
?>
</body>
</html>
下篇分享链接数据库的验证。。。