php ci框架验证码实例分析

前端之家收集整理的这篇文章主要介绍了php ci框架验证码实例分析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

PHP代码:@H_301_0@<div class="codetitle"><a style="CURSOR: pointer" data="78374" class="copybut" id="copybut78374" onclick="doCopy('code78374')"> 代码如下:

<div class="codebody" id="code78374">@H_301_0@<?PHP @H_301_0@class Captchacode@H3010@{@H3010@var $width='60';@H3010@var $num='4';@H3010@var $height='20';@H3010@var $name='randcode';@H301_0@public function _construct($conf="")@H3010@{@H3010@if($conf!="")@H3010@{@H3010@foreach($conf as $key=>$value)@H3010@{@H3010@$this->$key=$value;@H3010@}@H3010@}@H3010@}function show()@H3010@{@H3010@Header("Content-type: image/gif");@H3010@/*@H3010@* 初始化@H3010@*/@H3010@$border = 0; //是否要边框 1要:0不要@H3010@$how = $this->num; //验证码位数@H301_0@$w = $this->width; //图片宽度@H_301_0@$h = $this->height; //图片高度@H_3010@$fontsize = 5; //字体大小@H301_0@$alpha = "abcdefghijkmnopqrstuvwxyz"; //验证码内容1:字母@H_301_0@$number = "023456789"; //验证码内容2:数字@H_3010@$randcode = ""; //验证码字符串初始化@H301_0@srand((double)microtime()1000000); //初始化随机数种子$im = ImageCreate($w,$h); //创建验证图片/@H_3010@* 绘制基本框架@H3010@*/@H3010@$bgcolor = ImageColorAllocate($im,255,255); //设置背景颜色@H3010@ImageFill($im,$bgcolor); //填充背景色@H3010@if($border)@H3010@{@H3010@$black = ImageColorAllocate($im,0); //设置边框颜色@H3010@ImageRectangle($im,$w-1,$h-1,$black);//绘制边框@H3010@}/*@H301_0@ 逐位产生随机字符@H_301_0@/@H_3010@for($i=0; $i<$how; $i++)@H3010@{ @H301_0@$alpha_or_number = mtrand(0,1); //字母还是数字@H301_0@$str = $alpha_ornumber ? $alpha : $number;@H301_0@$which = mtrand(0,strlen($str)-1); //取哪个字符@H3010@$code = substr($str,$which,1); //取字符@H3010@$j = !$i ? 4 : $j+15; //绘字符位置@H301_0@$color3 = ImageColorAllocate($im,mtrand(0,100),100)); //字符随即颜色@H3010@ImageChar($im,$fontsize,$j,3,$code,$color3); //绘字符@H3010@$randcode .= $code; //逐位加入验证码字符串@H3010@}/*@H301_0@ 添加干扰@H_301_0@/@H_3010@for($i=0; $i<5; $i++)//绘背景干扰线@H3010@{ @H3010@$color1 = ImageColorAllocate($im,255),255)); //干扰线颜色@H301_0@ImageArc($im,mt_rand(-5,$w),$h),mtrand(20,300),200),55,44,$color1); //干扰线@H3010@} @H3010@for($i=0; $i<$how*15; $i++)//绘背景干扰点@H3010@{ @H3010@$color2 = ImageColorAllocate($im,255)); //干扰点颜色 @H3010@ImageSetPixel($im,$color2); //干扰点@H301_0@}//把验证码字符串写入session//$this->session->set_userdata(array($this->name=>$randcode));$SESSION[$this->name]=$randcode;@H3010@/绘图结束/@H3010@Imagegif($im);@H3010@ImageDestroy($im);@H3010@/绘图结束/@H3010@}@H3010@}@H3010@?>@H3010@
@H301_0@调用PHP代码:@H_301_0@<div class="codetitle"><a style="CURSOR: pointer" data="70088" class="copybut" id="copybut70088" onclick="doCopy('code70088')"> 代码如下:
<div class="codebody" id="code70088">@H_301_0@ function verifyimage() {@H301_0@ $conf['name'] = 'verifycode'; //作为配置参数@H301_0@ $this->load->library('libcaptcha',$conf);@H301_0@ $this->libcaptcha->show();@H301_0@ $yzm_session = $this->session->userdata('verifycode');@H301_0@ echo $yzmsession;@H3010@ }@H3010@
@H301_0@HTML代码:@H_301_0@<div class="codetitle"><a style="CURSOR: pointer" data="48062" class="copybut" id="copybut48062" onclick="doCopy('code48062')"> 代码如下:
<div class="codebody" id="code48062">@H_3010@
@H3010@
验证码:
@H
3010@
@H301_0@ <input type="text" name="verify_text" id="verifytext" class="yzma" value="">@H301_0@ 验证码@H_301_0@ <a href="javascript:changeCode();" class="change_yz">换一张

<dd class="tips_wrong">验证码不正确
<dd class="tips_correct">


js代码:
<div class="codetitle"><a style="CURSOR: pointer" data="87583" class="copybut" id="copybut87583" onclick="doCopy('code87583')"> 代码如下:
<div class="codebody" id="code87583">@H_3010@<script type="text/javascript">@H3010@ function changeCode(){@H301_0@ FS.query("#verify_code").src ="/user/verifyimage?r=" + Math.random();@H3010@ }@H3010@@H3010@@H301_0@

ci框架php验证码验证码验证码

猜你在找的PHP相关文章