Rumah pembangunan bahagian belakang tutorial php PHP验证码生成与验证例子_PHP教程

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

Jul 13, 2016 am 10:47 AM
php dan contoh Fungsi biasa ya mendaftar Sekarang menjana Log masuk daripada kod mengesahkan

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

1 一个简单的验证码实例

1.1 显示验证码的图片

 代码如下 复制代码

        $num=intval(mt_rand(1000,9999));
    for($i=0 ; $i     {echo "PHP验证码生成与验证例子_PHP教程";}
    ?>

1.2 验证过程

 代码如下 复制代码

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

2 一个汉字的验证码实例

2.1 显示验证码的图片

   

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

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


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

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

   
   

        //打印上一个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中常见的一个功能了,像注册、登录又或者是留言页面,都需要注册码来验证当前操作者的合法性,我们会看到有些网...
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

CakePHP Bekerja dengan Pangkalan Data CakePHP Bekerja dengan Pangkalan Data Sep 10, 2024 pm 05:25 PM

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Pembalakan CakePHP Pembalakan CakePHP Sep 10, 2024 pm 05:26 PM

Log masuk CakePHP adalah tugas yang sangat mudah. Anda hanya perlu menggunakan satu fungsi. Anda boleh log ralat, pengecualian, aktiviti pengguna, tindakan yang diambil oleh pengguna, untuk sebarang proses latar belakang seperti cronjob. Mengelog data dalam CakePHP adalah mudah. Fungsi log() disediakan

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

See all articles