PHP验证码生成与验证例子_PHP教程

php中文网
发布: 2016-07-13 10:47:54
原创
1250人浏览过

验证码是一个现在web2.0中常见的一个功能了,像注册、登录又或者是留言页面,都需要注册码来验证当前操作者的合法性,我们会看到有些网站没有验证码,但那是更高级的验证了,下面我们来看常用的验证码生成与使用方法。

1 一个简单的验证码实例

1.1 显示验证码的图片

 代码如下 复制代码

        $num=intval(mt_rand(1000,9999));
    for($i=0 ; $i     {echo "@@##@@";}
    ?>

1.2 验证过程

 代码如下 复制代码

    if (strval($inputyzm)!=strval($num))
    {
    echo "<script>alert('验证码错误!');history.go(-1);</script>";
    exit;
    }

2 一个汉字的验证码实例

2.1 显示验证码的图片

立即学习PHP免费学习笔记(深入)”;

   

 代码如下 复制代码
    $str="汉","字","验","证","码"); //可以定义汉字的内容和个数
    $word=strlen($str));
    for ($i=0;$i     {
    $num=rand(0,$word);
    $img = $img."@@##@@";
    $pic = $pic.$str[$num];
    }
    >

2.2 将生成的随机字符串赋给一个隐藏域

齐博B2B电子商务系统
齐博B2B电子商务系统

齐博B2B系统是一款基于PHP程序和Mysql数据库为基础的开源B2B行业门户电子商务网站建站系统, 系统代码完整、开源,功能全面,架构优秀,提供良好的用户体验、及管理平台,是目前搭建B2B行业门户网站最好的程序之一。齐博B2B具有的功能特点包括:通行证整合功能通过通行证的整合,可以与流行的PHPWIND论坛或Discuz论坛以及Ucenter中心等进行通讯,从而为用户提供更多的交流场所,增加网站

齐博B2B电子商务系统 0
查看详情 齐博B2B电子商务系统

   

 代码如下 复制代码

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_start();
    //在页首先要开启session,
    //error_reporting(2047);
    session_destroy();
    //将session去掉,以每次都能取新的session值;
    //用seesion 效果不错,也很方便
    ?>
   
   


    session 图片验证实例
   
   
    此例为session验证实例
   

    验证码: @@##@@

   
   

        //打印上一个session;
    echo "上一个session:"._SESSION["authnum_session"]."
";
    validate="";
    if(isset(_POST["validate"])){
    validate=_POST["validate"];
    echo "您刚才输入的是:"._POST["validate"]."
状态:";
    if(validate!=_SESSION["authnum_session"]){
    //判断session值与用户输入的验证码是否一致;
    echo "输入有误";
    }else{
    echo "通过验证";
    }
    }
    /*
    //打印全部session;
    PrintArr(_SESSION);
    function PrintArr(aArray){
    echo '';<br>     print_r(aArray);<br>     echo '';
    }
    */
    ?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632824.htmlTechArticle验证码是一个现在WEB2.0中常见的一个功能了,像注册、登录又或者是留言页面,都需要注册码来验证当前操作者的合法性,我们会看到有些网...
PHP验证码生成与验证例子_PHP教程PHP验证码生成与验证例子_PHP教程PHP验证码生成与验证例子_PHP教程
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号