找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9855|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
' i0 H3 |2 m! k( V9 h9 c1 e  S" p  e2 b. |
1.解决dedecms登陆后台空白错误
5 G4 J2 d* r% x* m0 D# I因为php5.5的版本废除了session_register,所以需要去掉session_register函数- L! k+ ?. t7 B  X8 o% f7 P

1 q  O" d: d2 H& v, X6 N修改:“include/userlogin.class.php”,注释掉session_register,修改后如下! R& ?4 k  c* A  `( V* ]$ U
//@session_register($this->keepUserIDTag);4 e# ?4 C; f& v- _& `  }5 b
$_SESSION[$this->keepUserIDTag] = $this->userID;4 p/ I% B$ Q& v) o

3 Y+ `- |! {0 c// @session_register($this->keepUserTypeTag);
6 W. U$ m0 G4 g8 t3 }: R$_SESSION[$this->keepUserTypeTag] = $this->userType;- {. Z% A  T: m" a. o# o) K
% Q4 Y' N" [* \" h. m9 d
// @session_register($this->keepUserChannelTag);8 F: J# B, L4 y/ K2 v) o
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;. d& l) w' p$ w% J1 c: D9 x# f

* A' d! p' X2 Y, n8 ]/ z0 E6 f' q( t# t// @session_register($this->keepUserNameTag);7 e+ z0 `" [2 Z
$_SESSION[$this->keepUserNameTag] = $this->userName;
2 q5 ^1 G+ W# d( }- @
: }8 f: i! E# ]( \% B2 L# t  x// @session_register($this->keepUserPurviewTag);
/ u$ T0 k9 y) @- y$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;: H0 G/ Q# Y' F' }) T
# t4 F+ f) \" _2 u" [& ]
// @session_register($this->keepAdminStyleTag);
& X6 X/ c9 U6 w  j7 Z5 T+ K- c$_SESSION[$this->keepAdminStyleTag] = $adminstyle;9 O- g% a3 Y4 j* o8 _! K

& [2 r6 I9 J& A# T8 }3 h$ w) g# p2.dedecms发布文章提示"标题不能为空". g: x; z1 d  ^

" z4 C2 |5 K, x" L2 J. U6 N& `现象是发布英文标题没问题,发布中文会提示“标题不能为空”' z3 r4 {. \4 I. Q6 s+ x
因为htmlspecialchars在php5.4默认为utf8编码,( R8 ^0 Y: T2 G1 y9 q
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。: L% K1 B: e* v5 I; S
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
& S1 p* G, L0 H% L" P. B% }
9 b' ]( b0 G5 r/ h5 M! m具体方法:$ w; `3 j8 Z' g3 Q
1.在dede安装目录执行$ w. `# Z8 W& z
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
4 [* [* i, {. S; y: d" ^
+ z2 F4 g& m, ]% F( U2./include/common.func.php中任意位置添加函数+ G( [8 d0 m+ ~3 }& n- y
! [1 D; s, ], n; c1 A) c
function gbkhtmlspecialchars($str)( m" K5 w$ d! X" b% Y
{" l. X- U6 T; ~# e& U
        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
6 b+ i/ }- F5 t}
4 K9 _* V2 x( k注意:使用了本文方法的就不用理会这篇文章了:https://bbs.swdyz.com/thread329sw1dyz1.shtml& z5 u/ P8 J4 C' s5 D/ m5 F
" w% }- j; H3 u; t) l/ |+ A8 |
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-3 01:58 , Processed in 0.043012 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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