验证码是一个现在web2.0中常见的一个功能了,像注册、登录又或者是留言页面,都需要注册码来验证当前操作者的合法性,我们会看到有些网站没有验证码,但那是更高级的验证了,下面我们来看常用的验证码生成与使用方法。
1 一个简单的验证码实例
1.1 显示验证码的图片
代码如下 复制代码
1.2 验证过程
代码如下 复制代码
if (strval($inputyzm)!=strval($num))
{
echo ;
exit;
}
2 一个汉字的验证码实例
2.1 显示验证码的图片
代码如下 复制代码
2.2 将生成的随机字符串赋给一个隐藏域
代码如下 复制代码
2.3 定义一个check()函数
代码如下 复制代码
看一个完整的实例
php 验证码生成与调用的例子,平时开发中经常使用,记录一下。
1、验证码生成文件code.php
代码如下 复制代码
header(content-type:image/png);
//定义header,声明图片文件,最好是png,无版权之扰;
//生成新的四位整数验证码
session_start();//开启session;
authnum_session = '';
str = 'abcdefghijkmnpqrstuvwxyz1234567890';
//定义用来显示在图片上的数字和字母;
l = strlen(str); //得到字串的长度;
//循环随机抽取四位前面定义的字母和数字;
for(i=1;i {
num=rand(0,l-1);
//每次随机抽取一位数字;从第一个字到该字串最大长度,
//减1是因为截取字符是从0开始起算;这样34字符任意都有可能排在其中;
authnum_session.= str[num];
//将通过数字得来的字符连起来一共是四位;
}
session_register(authnum_session);
//用session来做验证也不错;注册session,名称为authnum_session,
//其它页面只要包含了该图片
//即可以通过_session[authnum_session]来调用
//生成验证码图片,
srand((double)microtime()*1000000);
im = imagecreate(50,20);//图片宽与高;
//主要用到黑白灰三种色;
black = imagecolorallocate(im, 0,0,0);
white = imagecolorallocate(im, 255,255,255);
gray = imagecolorallocate(im, 200,200,200);
//将四位整数验证码绘入图片
imagefill(im,68,30,gray);
//如不用干扰线,注释就行了;
li = imagecolorallocate(im, 220,220,220);
for(i=0;i {//加入3条干扰线;也可以不要;视情况而定,因为可能影响用户输入;
imageline(im,rand(0,30),rand(0,21),rand(20,40),rand(0,21),li);
}
//字符在图片的位置;
imagestring(im, 5, 8, 2, authnum_session, white);
for(i=0;i {//加入干扰象素
imagesetpixel(im, rand()%70 , rand()%30 , gray);
}
imagepng(im);
imagedestroy(im);
?>
以上代码,参考了如下的文章:
php图片验证码
php生成验证码的例子
用php生成带有雪花背景的验证码
2、调用验证码的页面 sessionvalidate.php
代码如下 复制代码
session 图片验证实例
此例为session验证实例
验证码:
http://www.bkjia.com/phpjc/632824.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/632824.htmltecharticle验证码是一个现在web2.0中常见的一个功能了,像注册、登录又或者是留言页面,都需要注册码来验证当前操作者的合法性,我们会看到有些网...