ci验证码
ci 之验证码
为了方便,把 system/system/helpers/captcha_helper.php复制放在 application/helpers/文件夹里面
手册上面推荐用数据库,但个人认为用 $_SESSION方便些(session必须开启)
打开 application/helpers/captcha_helper.php文件,在判断 $word变量之后加上 $_SESSION['sess_validate'] = $word;
即在:
$length = strlen($word);之前加上$_SESSION['sess_validate'] = $word;即可
其实 $_SESSION['sess_validate']中的sess_validate随便自己命名,与别的不冲突就行了, 新建一个控制器,如 yes.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Yes extends CI_Controller { //根据手册设置验证码的参数,我是在源码里面设置为 4位验证码,且用的全是数字
public function __construct()
{
parent::__construct();
session_start();
} // 初始化,即初次使用
function validatecode()
{
$this->load->helper('captcha');
$vals = array(
'img_path' => './captcha/',
'img_url' => base_url() . 'captcha/',
'img_width' => '',
'img_height' => ,
'expiration' =>
); $cap['img'] = create_captcha($vals);
$this->load->view('validate', $cap);
} // 刷新验证码用
function ajaxvalidate()
{
$this->load->helper('captcha');
$vals = array(
'img_path' => './captcha/',
'img_url' => base_url() . 'captcha/',
'img_width' => '',
'img_height' => ,
'expiration' =>
); $cap['img'] = create_captcha($vals);
echo $_SESSION['sess_validate'] . $cap['img']['image']; } }
?>
展示页面(即模板文件((validate.php))可这样用(自己引入 jquery库),提交前可用 js 先检测一次是否输入正确的验证码 <form action="" method="post">
<input type="hidden" name="_url" id="vurl" value="<?php echo site_url('yes/ajaxvalidate'); ?>" />
<input type="hidden" name="validate" id="validate" value="<?php echo $_SESSION['sess_validate'];?>" />
<input type="text" name="mycode" value="" />
<br />
<a id="ff"><?php echo $img['image']; ?></a><a id="clickme">点击刷新</a><br />
<input type="submit" name="sub" value="submit" />
</form>
<script type="text/javascript">
$(document).ready(function(){
$("#clickme").click(function(){
var _url = $('#vurl').val();
$.ajax({
url:_url,
type:'post',
async:false,
data:{name:''},
success: function(data)
{
$('#ff').html(data.substr());
$('#validate').val(data.substr(,));
}
}); });
}); </script>
以上只是说明方法,其实在一个页面中,把上面的两个方法融到别的控制器即可,这样就可以运用了
ci验证码的更多相关文章
- CodeIgniter(CI)框架中的验证码
在CodeIgniter框架中,CI本身自带了验证码,但是查看文档的时候,发现: 需要新建一个表,用来存储验证码信息.因为习惯了session存储验证码信息,所以我把我认为比较好看的验证码应用在了CI ...
- CI框架2.x的验证码中所遇问题解决
用php版本是5.6,CI框架版本是2.x,在使用验证码(captcha)时,遇到一些问题. 首先,我查看框架手册,说必需的两个参数是"img_url",“img_path”,其他 ...
- php CI框架实现验证码功能和增强验证码安全性实战教程
php CI框架实现验证码功能和增强验证码安全性实战教程 CodeIgniter简称CI是最流行的一个php MVC框架之一,本人讲从实际项目使用中写系列实战经验,有别与其他的理论讲解文章,会附上实战 ...
- CI框架中,扩展验证码类。
使用CI框架的朋友,应该都知道CI框架的的验证码辅助函数,不太好用.它需要写入到数据库中,然后再进行比对. 大家在实际项目中,好像不会这样去使用,因为会对数据库造成一定的压力. 所以,我们还是利用se ...
- CI中的验证码
CI中的验证码相对来说使用非常方便直接加载类调用函数以及一些配置,代码如上,比较简单,具体函数可在CI手册的辅助函数参考CAPTCHA辅助函数中查询,CI中的验证码是直接生成验证码图片在你自己创建的C ...
- 三十一、CI框架之使用验证码
一.CI的验证码功能用着很是舒服,需要在根目录下新建一个captcha的验证码文件夹用于存放生产的图片,代码如下: 二.浏览器效果如下: 总结:关于验证码生产函数,有很多参数可以设置,包括字体,验证码 ...
- CI 点击图片刷新验证码
<img src="<?php echo site_url('home/login/code'); ?>" onclick= this.src="< ...
- Python验证码6位自动生成器
Python验证码6位自动生成器
- ci 基础知识
//建立虚拟主机 2.下载完毕后,解压,并将其复制粘贴到程序的主目录(d:/wamp/xmall/),然后再将其重命名为"myshop",那么"myshop" ...
随机推荐
- fedora21安装xmind7
老版本的xmind安装方法,在最后的阶段无法成功注册到系统中,desktop无法自定义完成.参考:http://www.cnblogs.com/cupcoffee/p/3560626.html 直到从 ...
- 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段
1.查看表空间中数据文件存储的路径以及是否可以自动扩展 SELECT TABLESPACE_NAME, BYTES/1024/1024 FILE_SIZE_MB, FILE_NAME FROM DBA ...
- Filter 配置多个URL-PATTERN
Filter 配置多个URL-PATTERN 最近做项目遇到一个Filter需要配置多个url-pattern,上网查了下资料,经测试,现总结下 一.完全错误的方式 Java代码 <fil ...
- IOS-Archiver文件归档(2)
Archiver是持久化数据的一种方式,他跟 Plist的差别在于他能持久化自己定义对象.但他没Plist那么方便. Archiver默认能持久化的数据有NSNumber,NSArray,NSDict ...
- sql 生成excel
1创建存储过程 create PROCEDURE [dbo].[UP_Export_Data_To_CSV] @Table NVARCHAR(), @Path NVARCHAR(), @Subfix ...
- 安装Rational Rose启动报错:无法启动此程序,由于计算机中丢失 suite objects.dll。
执行Rational Rose的时候假设出现这种错误,先检查环境变量有没有common的地址,假设没有直接配上就OK:配置例如以下:D:\Program Files\Rational\Common; ...
- mysql导出部分(指定)数据库表字段
需要导出某个表中的部分字段信息 之前导出数据库表一直使用mysqldump命令,例如: mysqldump -hIP -uroot -P3306 -p 库 表 > 名字.sql 但是如果导出 ...
- Bash For Loop Examples for Your Linux Shell Scripting--ref
There are two types of bash for loops available. One using the “in” keyword with list of values, ano ...
- WPF翻转动画
在WPF中要翻转对象,估计是得用三维变换,所以我用到了AxisAngleRotation3D,让图形绕着Z轴来旋转. 先看看效果. 是的,就是这样的效果,在XAML中,由于涉及三维图形,我先做了两个用 ...
- 转:ORACLEERP开发基础之EBS开发基础
转自:http://blog.itpub.net/8781091/viewspace-1012244/ [内容导航] 第1页:开发工具安装 第2页:增加数据块 第3页:注册表单FORM 第4页:注册请 ...