找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8879|回复: 0

dedecms(织梦)发布文章提示"标题不能为空"及与php5.5兼容问题的解决

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
% P$ ^3 w4 z# c- m5 e) R: H9 Y2 @/ Y. \3 c' u
1.解决dedecms登陆后台空白错误
8 D9 H0 L+ b8 E9 F/ q/ E- l2 g4 a因为php5.5的版本废除了session_register,所以需要去掉session_register函数
+ S; l0 \0 m% ^, p/ R) A; Z) ?
! w$ O0 _" B" @5 e. n修改:“include/userlogin.class.php”,注释掉session_register,修改后如下9 w: {' S, L4 n; V" ~7 {
//@session_register($this->keepUserIDTag);
8 S2 H6 n  @& q- l. @0 `( f$_SESSION[$this->keepUserIDTag] = $this->userID;, [; v' l. M" |. u4 h

  p3 F1 [( W8 ^9 `" T// @session_register($this->keepUserTypeTag);- p' t2 e- C* A' h
$_SESSION[$this->keepUserTypeTag] = $this->userType;1 k/ [3 p* k- J7 d$ [2 B

! K$ i! J! t" Q% S( H" B// @session_register($this->keepUserChannelTag);: |% ?$ d3 d# t! S0 B* M5 `7 Q
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;  j  `$ d4 w( U/ N

9 ]& w6 B. A& l# T% @// @session_register($this->keepUserNameTag);
7 U. b  D/ \9 F* W$_SESSION[$this->keepUserNameTag] = $this->userName;
& }. l( O4 v+ v3 L1 u. K) V0 a/ P2 C2 g0 l0 Q9 s  C7 {/ d
// @session_register($this->keepUserPurviewTag);
( G% D4 p6 D( X4 N, u4 i' n! {$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;! k; K6 o7 y! U, O" `/ i

7 {& G3 K  _! M7 X0 z0 [, }// @session_register($this->keepAdminStyleTag);2 C9 a) ]% t9 \
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;& Z; v; j7 `& M2 z; }$ E" C  s4 i

) q7 j" u( J% @; N) U3 \" N+ K2.dedecms发布文章提示"标题不能为空"$ l/ F( a. {: i
- p$ J0 Y$ z9 x
现象是发布英文标题没问题,发布中文会提示“标题不能为空”
+ e, N* ]# s4 [( q) I因为htmlspecialchars在php5.4默认为utf8编码,4 Z' r2 w# h* q8 w
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。7 L4 _4 O( N  f, K7 z; ~) ~
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
; d( F+ u  x( {, b$ j# \* U- `5 `- t. @2 j8 D
具体方法:4 ^" @' s/ F# F# n/ ^/ s
1.在dede安装目录执行
) X) c+ `3 q* f% K- }8 Gsed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`4 s! R. s9 M; c" j
3 G+ V+ G, T% I, |
2./include/common.func.php中任意位置添加函数
" ~" a4 [( T6 y' B% f  l0 [% c4 Q# x6 D2 W
function gbkhtmlspecialchars($str)
, t% C, |# L, V5 h{
6 L% _/ M% ^- s' X, ~        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');  z+ T3 ~* p& b/ n) z
}
! @! U7 W! V" }注意:使用了本文方法的就不用理会这篇文章了:https://bbs.swdyz.com/thread329sw1dyz1.shtml0 _# w% c+ t& y4 g% ~6 ~" }8 i

! D; V; h/ B* i2 R5 v
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|第一站论坛 ( 蜀ICP备06004864号-6 )

GMT+8, 2025-6-7 14:48 , Processed in 0.058018 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表