PHP ci framework verification code example analysis_PHP tutorial

WBOY
Release: 2016-07-21 15:02:35
Original
824 people have browsed it

php code:

Copy code The code is as follows:

class Captcha_code
{
var $width='60';
var $num='4';
var $height='20';
var $name='randcode';
public function __construct($ conf="")
{
if($conf!="")
{
foreach($conf as $key=>$value)
{
$this ->$key=$value;
}
}
}

function show()
{
Header("Content-type: image/gif") ;
/*
* Initialization
*/
$border = 0; //Whether border 1 is required: 0 or not
$how = $this->num; //Verification Number of code points
$w = $this->width; //Picture width
$h = $this->height; //Picture height
$fontsize = 5; //Font size
$alpha = "abcdefghijkmnopqrstuvwxyz"; //Verification code content 1: Letters
$number = "023456789"; //Verification code content 2: Numbers
$randcode = ""; //Verification code string Initialization
srand((double)microtime()*1000000); //Initialize random number seed

$im = ImageCreate($w, $h); //Create verification image

/*
* Draw the basic frame
*/
$bgcolor = ImageColorAllocate($im, 255, 255, 255); //Set the background color
ImageFill($im, 0, 0, $bgcolor); //Fill the background color
if($border)
{
$black = ImageColorAllocate($im, 0, 0, 0); //Set the border color
ImageRectangle($ im, 0, 0, $w-1, $h-1, $black);//Draw the border
}

/*
* Generate random characters bit by bit
*/
for($i=0; $i<$how; $i++)
{
$alpha_or_number = mt_rand(0, 1); //Letters or numbers
$str = $alpha_or_number? $alpha : $number;
$which = mt_rand(0, strlen($str)-1); //Which character to take
$code = substr($str, $which, 1); //Get Character
$j = !$i ? 4: $j+15; //Draw character position
$color3 = ImageColorAllocate($im, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100)); //Characters are then colored
ImageChar($im, $fontsize, $j, 3, $code, $color3); //Draw characters
$randcode .= $code; //Add verification code characters bit by bit String
}

/*
* Add interference
*/
for($i=0; $i<5; $i++)//Draw background interference lines
{
$color1 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //Interference line color
ImageArc($im, mt_rand(-5,$w) , mt_rand(-5,$h), mt_rand(20,300), mt_rand(20,200), 55, 44, $color1); //Interference line
}
for($i=0; $i<$ how*15; $i++)//Draw background interference points
{
$color2 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //Color of interference points
ImageSetPixel($im, mt_rand(0,$w), mt_rand(0,$h), $color2); //Interference point
}

//Write the verification code string session

//$this->session->set_userdata(array($this->name=>$randcode));

$_SESSION[$this-> name]=$randcode;
/*End of drawing*/
Imagegif($im);
ImageDestroy($im);
/*End of drawing*/
}
}
?>

Call the php code:
Copy the code The code is as follows:

function verify_image() {
$conf['name'] = 'verify_code'; //As a configuration parameter
$this->load->library('lib_captcha', $conf);
        $this->lib_captcha->show();
             $yzm_session = $this->session->userdata('verify_code');                                                                         $yzm_session;

html code:


Copy code
The code is as follows:


                                                          < "verify_text" class="yzma" value="">
                                                                                                                                         Change one
                                                                                                                                   ;b>The verification code is incorrect
                                                                                                                                                 🎜>js code:



Copy code

The code is as follows:






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

www.bkjia.com

true

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

php code: Copy the code as follows: ?php class Captcha_code { var $width='60'; var $num ='4'; var $height='20'; var $name='randcode'; public function __construct($conf="") { if($...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template