Dedecms不能添加新变量 变量名不能为空并且必须为[a-z_]组成

首先,我们要确定一下网站是否是GBK,或者是GB2312,(因为老外认为网页普遍应该是utf-8编码,于是在PHP5.4后 htmlspecialchars函数 的编码参数的默认值改为UTF-8,导致GBK的中文站使用这个参数会为空。因此强制让它使用GB2312编码)

本文讲述dede "变量名不能为空并且必须为[a-z_]组成“ 报错的解决办法
 
dedecms5.7 稍微新一点的版本更新过以后,在添加新系统变量的时候,出现 "变量名不能为空并且必须为[a-z_]组成!"报错,添加新变量失败。
 
经过研究,解决这个问题很简单:
 
编辑dede/sys_info.php(或者/你的后台文件夹/sys_info.php),找到149行的:
preg_match("#[^a-z_]#i", $nvarname)

修改为:

preg_match("#^[^a-z_]#i", $nvarname)
保存,问题解决。
 
总结:“变量名不能为空并且必须为[a-z_]组成!”错误,是dede更新后出现的小bug,少了个符号。
 
posted @ 2019-08-28 09:45  紫云传芳  阅读(358)  评论(0)    收藏  举报