怎样给Dedecms织梦网站自定义表单设置必填项

怎样给Dedecms织梦网站自定义表单设置必填项,第1张

这个提示并不是系统错误或者是BUG,而是CMS系统的一种安全防护。

提示解说:CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。

解决方法:简单讲,出现这个提示,就是当前使用的CMS系统中修改的网页有验证内容,当检测非原网站的链接时,就会有这样的提示,需要自行修改dede目录中的tplphp页面内,相关的CSRF验证代码

对止问题我自己已经解决了。(我是windows空间)

主要还是空间的题。

我当时遇到这个问题时,找遍了网上的资料,也拭了N遍都没有能解决我的问题。

我先也找过空间客服,可以那个客服也不在行,也可以说他根本就不懂。他说是我程序的问题。

我也尝试了好多次,从官网下载新的dedecms57-utf-8-sp1进行安装,但还是提示验证码错误,取消验证码之后,提示"成功登录,正在转向管理管理主页 "但是还是会返回到登陆页面。

之后我又重新换了一个客服,我把我的情况跟他说了,他从新给我开了一个空间,让我试试行不?我装上马上就行了,还是空间的问题。

所以我我的经历分享给大家,如果你在网上找了N多的次资都试过了,还是没有解决你的问题,那肯定是空间的问题。

不行就换个客服。

1编辑器打开plusdiyphp

2在40行左右找到此行代码:

$dede_fields=empty($dede_fields)'':trim($dede_fields);

3在这一行代码之下,加入代码,复制的话删掉代码中的空行

//增加必填字段判断

if($required!=''){

if(preg_match('/,/',$required))

{

$requireds=explode(',',$required);

foreach($requiredsas$field){

if($$field==''){

showMsg('带号的为必填内容,请正确填写','-1');

exit();

}

}

}else{

if($required==''){

showMsg('带号的为必填内容,请正确填写','-1');

exit();

}

}

}

//end

4保存完成后,在表单模版页面找到这行代码:

<formaction="/plus/diyphp"enctype="multipart/form-data"method="post">

在这行代码之下,加入代码:

<inputtype="hidden"name="required"value="数据字段名,数据字段名"/>

注意这行代码要修改下,根据你的表单所需要设置的必填项,例如设置“姓名”、“邮箱”为必填项

添加新字段--“表单提示文字”:姓名--“字段名称”:name

添加新字段--“表单提示文字”:邮箱--“字段名称”:email

此行代码应为:

<inputtype="hidden"name="required"value="name,email"/>

这样就把这两个选项设置为必填项了,如果没有填写就提交,会打开窗口提示“带号的为必填内容,请正确填写”,当然,这一句话可以改成其它的文字

网上看到另一种方法,未测试,仅作为资料收藏

js方法:

1先在要发布表单的模板上加

<scriptsrc='你的路径/jsjs'type="text/javascript"></script>

2在你自定义的路径新建文件jsjs,然后复制以下内容粘贴保存,代码:

<!--

$(document)ready(function()

{

//验证

$('complain')submit(function()

{

if($('name')val()==""){

$('name')focus();

alert("用户名不能为空!");

returnfalse;

}

if($('tel')val()=="")

{

$('tel')focus();

alert("联系电话不能为空!");

returnfalse;

}

if($('title')val()=="")

{

$('title')focus();

alert("标题不能为空!");

returnfalse;

}

if($('text')val()=="")

{

$('text')focus();

alert("具体内容不能为空!");

returnfalse;

}

})

});

-->

注:

$('complain')submit(function()//complain为自定义表单的ID,如果生成的表单没有可以自行加上,即id="complain"

if($('name')val()==""){

$('name')focus();//name为要验证表单中的ID,如想让用户名不能为空,在后台用户名的数据字段名设为name,下同

3设置好后更新就可以看到效果了

希望本文所述对大家的dedecms建站有所帮助。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 怎样给Dedecms织梦网站自定义表单设置必填项

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情