提示:变量名不能为空并且必须为[a-z_]组成【织梦后台】
今天发现添加新变量的时候,首先出现: “Request var not allow!” 这个还不是重要的。这个问题解决以后,
接着又出现了:变量名不能为空并且必须为[a-z_]组成!
网上找了很多个解决方案,基本上都是一样的,说的是 include/common.inc.php 替换一段代码。但可能只适用以有的版本。总之没有成功。。。
话说,其实,问题不是出在Includ/common.inc.php
那是因为Includ/common.inc.php里面规定了。不充许创建cfg_开头的。那我们创建其它开头的就可以了。建议***好不要去修改那个配置文件,为了安全起见。
例如我的:cf_add 就是医院的地址,这样就可以了。下一个比如电话,QQ这些,你可以自定义。例如:yiyuan_tel
只要你模版调用的时候:医院地址:{dede:global.cf_add/} 记得填写正确就OK了
但是紧接着问题来了。其实你跟本走不到这一步,因为你添加了变量以后 会显示 变量名不能为空并且必须为[a-z_]组成!
其实你要先解决下面的问题,然后再回头添加变量就OK了。总之有点儿让人搞不清状况!
好吧。在网上找的时候我发现以前的老版本貌似都可以添加的哦。那就。。。下载个老版本的。打开 /dede/sys_info.php
主要是这样一段话。
解决办法:
老版本的:
- //增加新变量
- else if($dopost==’add’)
- {
- if($vartype==’bool’ && ($nvarvalue!=’Y’ && $nvarvalue!=’N’))
- {
- ShowMsg(“布尔变量值必须为’Y’或’N’!”,”-1″);
- exit();
- }
- if(trim($nvarname)==” || eregi(‘[^a-z_]’, $nvarname) )
新版本的:
- //增加新变量
- else if($dopost==’add’)
- {
- if($vartype==’bool’ && ($nvarvalue!=’Y’ && $nvarvalue!=’N’))
- {
- ShowMsg(“布尔变量值必须为’Y’或’N’!”,”-1″);
- exit();
- }
- if(trim($nvarname)==” || preg_match(“#[^a-z_]#i”, $nvarname))
对比发现问题以后,其实就是***后代码里面少了一个符号:^
- //增加新变量
- else if($dopost==’add’)
- {
- if($vartype==’bool’ && ($nvarvalue!=’Y’ && $nvarvalue!=’N’))
- {
- ShowMsg(“布尔变量值必须为’Y’或’N’!”,”-1″);
- exit();
- }
- if(trim($nvarname)==” || eregi(“#^[^a-z_]#i”, $nvarname))
就是第九行这句话:if(trim($nvarname)==” || eregi(“#^[^a-z_]#i”, $nvarname))
换成这句以后,保存,再回后台试一吧亲们。~~