当前位置:首页 > 行业动态 > 正文

如何在Dedecms 5.7后台解决发布文章时出现标题不能为空的提示问题?

请检查文章标题输入框是否为空,并填写正确的标题。

解决DEDECMS5.7后台发布文章提示“标题不能为空”的方法

如何在Dedecms 5.7后台解决发布文章时出现标题不能为空的提示问题?  第1张

在使用织梦dedecms5.7进行内容管理时,有时会遇到一些技术问题,比如在后台发布文章时提示“标题不能为空”,这个问题通常出现在使用PHP5.4及以上版本的环境中,以下是详细的解决方法和步骤:

问题症状

1、发布英文标题正常:在后台发布英文标题时,系统可以正常接受并保存。

2、发布中文标题失败:当尝试发布中文标题时,系统会提示“标题不能为空”。

问题根源

该问题的根源在于htmlspecialchars函数在PHP5.4中的默认行为。htmlspecialchars函数在PHP5.4中默认使用UTF8编码,而GBK编码的字符串经过htmlspecialchars转义后会变成空字符串,从而导致标题无法通过验证。

解决办法

为了解决这个问题,可以通过修改相关文件来改变htmlspecialchars函数的编码方式,具体步骤如下:

1、修改dede/article_add.php和dede/article_edit.php

找到以下代码:

“`php

$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));

“`

将其修改为:

“`php

$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen), ENT_COMPAT, ‘GB2312’);

“`

2、修改include/ckeditor/ckeditor_php5.php

找到以下代码(大约在第138行):

“`php

htmlspecialchars($value)

“`

将其修改为:

“`php

htmlspecialchars($value, ENT_COMPAT, ‘GB2312’)

“`

完成上述修改后,重新测试发布文章功能,应该能够正常发布中文标题了。

注意事项

如果不想修改程序源码,可以考虑将PHP版本降级到PHP5.3,等待织梦官方升级支持PHP5.4后再进行服务器的更换。

相关问答FAQs

问题一:为什么在PHP5.4环境下会出现“标题不能为空”的问题?

答:在PHP5.4中,htmlspecialchars函数默认使用UTF8编码,而GBK编码的字符串经过htmlspecialchars转义后会变成空字符串,导致标题验证失败,需要手动指定编码格式为GB2312以解决这个问题。

问题二:如果不修改源码,还有其他解决方案吗?

答:是的,如果不希望修改源码,可以将服务器的PHP版本降级到PHP5.3,暂时避开这个问题,等织梦官方发布支持PHP5.4的版本后,再更新服务器环境。

通过以上方法,可以有效解决在使用dedecms5.7后台发布文章时遇到的“标题不能为空”的问题,希望这些信息能够帮助到遇到类似问题的站长们。

Dedecms 5.7 后台发布文章提示“标题不能为空”的解决方法

1. 检查表单提交

步骤:

1、登录到 Dedecms 5.7 的后台管理界面。

2、点击“文章管理”模块,然后选择“发布文章”。

3、填写文章标题,并尝试提交表单。

检查:

确保在提交表单时,浏览器控制台没有显示任何 JavaScript 错误。

如果有错误,请根据错误信息进行相应的修改。

2. 检查表单验证代码

步骤:

1、进入 Dedecms 的源代码目录,找到includepostinfo.php 文件。

2、打开该文件,查找SaveArticle() 函数。

检查:

在SaveArticle() 函数中,查找对文章标题的验证代码。

确保标题验证的代码正确无误,

if(empty($posttitle))
{
    ShowMsg("标题不能为空!", "1");
    exit();
}

如果发现验证代码存在问题,请根据实际情况进行修改。

3. 检查数据库字段

步骤:

1、进入 Dedecms 的源代码目录,找到incconfig.php 文件。

2、打开该文件,查找$cfg_arctype 数组。

检查:

在$cfg_arctype 数组中,查找与文章类型相关的配置项。

确保文章标题对应的字段名称正确,

$cfg_arctype = array(
    'id' => 'a_id',
    'typename' => 'a_typeid',
    'title' => 'a_title',
    // ... 其他字段
);

如果字段名称错误,请将其更正为正确的字段名称。

4. 重置数据库缓存

步骤:

1、进入 Dedecms 的后台管理界面,点击“系统”模块。

2、选择“系统设置”。

3、找到“缓存设置”部分,点击“清空缓存”按钮。

说明:

清空缓存可以解决一些因缓存导致的问题,如配置信息未更新等问题。

5. 检查服务器环境

步骤:

1、确保服务器环境符合 Dedecms 5.7 的要求。

2、检查服务器配置,如 PHP 版本、MySQL 版本等。

说明:

如果服务器环境不满足要求,可能导致 Dedecms 无法正常运行。

通过以上步骤,您可以解决 Dedecms 5.7 后台发布文章时提示“标题不能为空”的问题,如果问题仍然存在,建议您查阅 Dedecms 官方文档或寻求技术支持。

0