ホームページ > バックエンド開発 > PHPチュートリアル > PHP_PHP チュートリアルでの検証コード クラスと使用法

PHP_PHP チュートリアルでの検証コード クラスと使用法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-13 17:47:48
オリジナル
769 人が閲覧しました

注: 公開ページを session_start();

に追加します。

session_start();

ini_set('display_errors', 'オフ');

クラスCCheckCodeFile

{

//検証コードの数字 www.2cto.com

var $mCheckCodeNum = 4;

//生成された確認コード

var $mCheckCode = '';

//認証コードの画像

var $mCheckImage = '';

//干渉ピクセル

var $mDisturbColor = '';

//認証コード画像の幅

var $mCheckImageWidth = '80';

//認証コード画像の幅

var $mCheckImageHeight = '20';

// ヘッダーを出力します

関数 OutFileHeader()

{

header ("Content-type: image/png");

}

//確認コードを生成します

関数 CreateCheckCode()

{

//$this->mCheckCode = strtoupper(substr(md5(rand()),0,$this->mCheckCodeNum));

$this->mCheckCode = strtoupper(substr(rand(0,9999999999),0,$this->mCheckCodeNum));

session_cache_expire(60);

session_start();

$_SESSION["code_str"] = $this->mCheckCode;

return $this->mCheckCode;

}

//認証コード画像を生成

関数 CreateImage()

{

$this->mCheckImage = @imagecreate ($this->mCheckImageWidth,$this->mCheckImageHeight);

Imagecolorallocate ($this->mCheckImage, 255, 255, 255);

return $this->mCheckImage;

}

//画像の干渉ピクセルを設定します

関数 SetDisturbColor()

{

($i=0;$i<=128;$i++) の場合

{

$this->mDisturbColor = imagecolorallocate ($this->mCheckImage, rand(0,255), rand(0,255), rand(0,255));

imagesetpixel($this->mCheckImage,rand(1,100),rand(1,100),$this->mDisturbColor);

}

}

//認証コード画像のサイズ、幅、高さを設定します

関数 SetCheckImageWH($width,$height)

{

If($width==''||$height=='')return false;

              $this->mCheckImageWidth = $width;

              $this->mCheckImageHeight = $height;

              true を返します;

       }

 

       //在验证码图片上逐次画上验证码

       関数 WriteCheckCodeToImage()

       {

              ($i=0;$i<=$this->mCheckCodeNum;$i++) の場合

              {

                     $bg_color = imagecolorallocate ($this->mCheckImage, rand(0,255), rand(0,255), rand(0,255));

                     $x = フロア($this->mCheckImageWidth/$this->mCheckCodeNum)*$i;

                     $y = rand(0,$this->mCheckImageHeight-15);

                     imagechar ($this->mCheckImage, 5, $x, $y, $this->mCheckCode[$i], $bg_color);

              }

       }

 

       //出验证码图片

       関数 OutCheckImage()

       {

              $this ->OutFileHeader();

              $this ->CreateCheckCode();

              $this ->CreateImage();

              $this ->SetDisturbColor();

              $this ->WriteCheckCodeToImage();

              imagepng($this->mCheckImage);

              imagedestroy($this->mCheckImage);

       }

}

 

$c_check_code_image = 新しい CCheckCodeFile();

//$c_check_code_image ->SetCheckImageWH(100,50);//表示验证閉图片の尺寸

を設置します

$c_check_code_image->OutCheckImage();

?>

 

 

 

使用方法:

      验证码

     

      图片看不清?点击重新得验证码

   

 

 

验证是否正确

 

session_start();

 

  if($_POST["number"] == $_SESSION["code_str"]){

  // echo("验证码正确");

  }その他{

        エコー「

 

                     <スクリプト>

 

                            var s=10;

 

                            関数 ok()

 

                                                                                      

                                                                                                    

document.getElementById('tips').innerHTML=s;

If(s==0)

                                                                                           

;

歴史.go(-1);

                                                                            

                                                                            

var t = setInterval( 'ok()'、1000);

                                                                                                      

" . "確認コードを入力してください。もう一度入力してください数秒後に、前のページ";

}

http://itsafe.org/?p=384 から取得

http://www.bkjia.com/PHPjc/478478.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/478478.html技術記事注: session_start(); ?php session_start(); ini_set(display_errors, Off); //検証コードの桁数 www.2cto.com var $mCheckCodeNum = 4; ..
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
PHP 拡張子 intl
から 1970-01-01 08:00:00
0
0
0
phpのデータ取得?
から 1970-01-01 08:00:00
0
0
0
PHP GET エラー レポート
から 1970-01-01 08:00:00
0
0
0
phpを上手に学ぶ方法
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート