您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程
phpcms实现验证码以及异步提交表单数据的方法实例
代真2025-06-05phpcms教程已有人查阅
导读在phpcms网站中使用验证码我们要考虑前端模板页面中如何调用验证码和后台程序中如何验证两个方面:一、在模板中,调用验证码的代码如下:
在phpcms网站中使用验证码我们要考虑前端模板页面中如何调用验证码和后台程序中如何验证两个方面:
一、在模板中,调用验证码的代码如下:
第二行,不要忘记引入form类;
第7、8、9行,在读取session数据前先引入session存储配置与启动对应类(一般是mysql);
判断session的if条件即将表单填入的code值与session中的code值进行对比;
/**********************************上面纯属拷贝***********************************************/
下面拿方瞳科技官网作为例子:
在搜索表单的控制器,也就是搜索表单的action是这样写的:
一、在模板中,调用验证码的代码如下:
<label for="code">验证码</label>
<input type="text" id="code" name="code" size="10">
{form::checkcode('code_img', '4', '14', 100, 30)}
注意,从标签中可知是使用了form类中的checkcode方法,那么就要确保此模板所在的控制器文件中已经调用了该类,调用方法如下:
pc_base::load_sys_class('form', '', 0);
此类文件位置/phpcms/libs/classes/form.class.php,你可以通过查看此文件中的checkcode方法参数注释来了解各参数所代表的意义。二、在后端控制器文件php程序中,演示代码如下:
defined('IN_PHPCMS') or exit('No permission resources.');
pc_base::load_sys_class('form','', 0);
class index {
public function init(){
if(isset($_POST['dosubmit'])){ //提交数据
//启动session
$session_storage = 'session_'.pc_base::load_config('system','session_storage');
pc_base::load_sys_class($session_storage);
//验证码
if (($_SESSION['code'] != strtolower($_POST['code'])) || empty($_SESSION['code'])) {
showmessage("验证码错误");
} else {
$_SESSION['code'] = '';
}
这里我们注意三点:第二行,不要忘记引入form类;
第7、8、9行,在读取session数据前先引入session存储配置与启动对应类(一般是mysql);
判断session的if条件即将表单填入的code值与session中的code值进行对比;
/**********************************上面纯属拷贝***********************************************/
下面拿方瞳科技官网作为例子:
在搜索表单的控制器,也就是搜索表单的action是这样写的:
public function init() {
if(isset($_GET['dosubmit'])){//提交数据
//启动session
$session_storage = 'session_'.pc_base::load_config('system','session_storage');
pc_base::load_sys_class($session_storage);
//验证码
if (($_SESSION['code'] != strtolower($_GET['code'])) || empty($_SESSION['code'])) {
// showmessage("验证码错误");
$back=array();
$back[0]['jieguo']=0;
$back[0]['back']='验证码错误';
echo json_encode($back);die;
} else {
$_SESSION['code'] = '';
}
}
/*****这个控制器一直走下去,全部验证通过,查询获取到的数据就是酱紫的(下面)*******
// include template('search','list');
if($data){
echo json_encode($data);die;
}else{
$back=array();
$back[0]['jieguo']=0;
$back[0]['back']='没找到您搜索的产品';
echo json_encode($back);die;
}
好像这儿呢不是ajaxreturn啊,前台页面是酱紫的,搜索表单:
<form action="{APP_PATH}index.php" method="get" >
<title class="textshow">您可以通过序列号查询到产品的出产信息等说明</title>
<input type="hidden" name="m" value="search"/>
<input type="hidden" name="c" value="index"/>
<input type="hidden" name="a" value="init"/>
<input type="hidden" name="dosubmit" value="1"/>
<input type="hidden" name="typeid" value="56" id="typeid"/>
<input type="hidden" name="siteid" value="1" id="siteid"/>
<input type="text" name="q" id="q" class="xlh" placeholder="请输入商品序列号">
<span class="yzmbox">
<input type="text" class="yzma" name='code' placeholder="请输入验证码">
{form::checkcode('code_img', '4', '14', 100, 30)}</span>
<input type="button" class="cxun" value="查询"></form>
下面是javascript代码:
<script>
function closea(){
$('#back').html('');
}
$('.cxun').click(function(){
var yzm=$('.yzma').val();
var sear=$('#q').val();
$.ajax({
,
data:{'m':'search','c':'index','a':'init','typeid':56,'siteid':1,'dosubmit':1,'q':sear,'code':yzm},
type:'get',
dataType:'json',
success:function(back){
$('#code_img').click();
if(back[0]['jieguo']==0){
$('#back').html('');
alert(back[0]['back']);
}else{
var back_html="<table><tbody><tr><th class='ccsj'>产品名称</th>
<th class='ccsj'>出产时间</th><th class='cpsm'>产品说明</th></tr>";
$(back).each(function(k,v){
var title=v.title;
var content=v.description;
var time=v.chanpinshengchanriqi;
back_html += ("<tr><td>"+title+"</td><td>"+time+"</td><td>"+content+"</td></tr>");
});
back_html +="<tr><td colspan='3'><a href='#back'>
<span class='closea' onclick="+"closea('.jgbox')>关闭</span></a></td></tr></tbody></table>";
$('#back').html(back_html);
}
}
});
});
</script>
似乎在控制器之中返回json数据使用echo??
本文标签:
很赞哦! ()
相关教程
图文教程
phpcms用的模板引擎是什么
PHPCMS使用Smarty作为模板引擎,它是一个流行的模板引擎,用于分离业务逻辑和展示逻辑。Smarty具有缓存、灵活性、安全性和社区支持等优势。在PHPCMS中
phpcms标签含义整理
{template "content","header"} ---------- 调用根目录下phpcms\template\content\header文件{CHARSET} -------------------------------------字符集 (gbk或者utf-8)
phpcms调用验证码的方法代码示例
问题描述:不管是在phpcms的模板制作还是做某些功能模块的二次开发时,我们经常在一些表单中用到调用验证码,那么具体我们改如何调用呢?
phpcmsV9实现QQ登陆OAuth2.0代码示例
phpcmsV9使用的QQ登陆依然是OAuth1.0,但现在腾讯已经不审核使用OAuth1.0的网站了。这对于使用pc的站长来讲是一个无比巨大的坑。经过对phpcms论坛的一位同学做的插件进行修改
相关源码
-
(PC+WAP)门窗门业家居定制铝合金产品pbootcms模板下载基于PbootCMS内核开发的门窗门业企业专用模板,采用响应式设计结构,数据一次录入即可同步适配电脑与手机端浏览。通过简洁大气的视觉呈现,帮助门窗企业快速建立专业线上展示平台,有效传递产品价值与服务优势。查看源码 -
(自适应)宽屏农业机械农耕设备类网站pbootcms模板免费下载为农机企业打造的现代化响应式网站模板,自动适配电脑、平板和手机,浏览体验一致,独立页面SEO设置,提升搜索引擎可见度。查看源码 -
(自适应响应式)pbootcms紫色美容整形机构企业模板下载基于PbootCMS内核开发的响应式网站模板,为医疗美容机构、整形医院等企业设计,提供完整的线上展示平台采用紫色系配色方案,整体风格专业大气。模板包含首页轮播、服务项目、专家团队、案例展示等核心模块,能够充分展示医疗美容机构的专业服务和特色优势。查看源码 -
(自适应响应式)高端家用办公家具家居桌椅pbootcms模板下载为办公家具企业设计的响应式网站模板,涵盖产品展示、案例呈现、企业介绍等核心模块。通过可视化后台可快速发布实木桌椅、系统家具、办公屏风等产品信息,帮助客户直观了解材质参数与空间搭配方案。查看源码 -
(自适应html5)自媒体运营培训教程个人博客pbootcms模板本模板基于PbootCMS系统开发,特别适合自媒体运营培训、知识付费类网站使用。采用响应式设计,能够适配各类终端设备,为内容创作者提供专业的内容展示平台。查看源码 -
(PC+WAP)房屋建造建筑工程房地产建材行pbootcms网站模板下载本模板基于PbootCMS内核开发,为房屋建造、建筑工程及房地产建材类企业设计。通过本模板可快速搭建具有行业特色的企业官网,只需替换文字与图片内容即可适配其他行业使用。查看源码
| 分享笔记 (共有 篇笔记) |
