官方7.5 的 0814 版。今天发现添加新变量的时候,首先出现:
"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))
换成这句以后,保存,再回后台试一吧亲们。~~