找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9289|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
7 ^/ r2 x" L/ y* }$ P
# ~9 k6 }& v8 T4 N7 T1.解决dedecms登陆后台空白错误
+ M- p+ t# M7 C. X, j因为php5.5的版本废除了session_register,所以需要去掉session_register函数
& y; T& E! e( I: x) Z3 J# A8 _8 H) H4 j7 q  e3 x4 B
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下8 L2 q, @+ \5 @$ S0 m- q
//@session_register($this->keepUserIDTag);1 @5 ^1 y& L! z& \
$_SESSION[$this->keepUserIDTag] = $this->userID;/ V1 t" A0 A; k4 L
: B; O( |) o& F' h+ `, I( j# b
// @session_register($this->keepUserTypeTag);0 @) ?. F; `6 j6 Q1 i
$_SESSION[$this->keepUserTypeTag] = $this->userType;
& a# t9 x% N1 d+ X0 \+ h( |& T: \0 U
// @session_register($this->keepUserChannelTag);
, Z$ d2 `+ [! h) d0 }; W4 d# z$_SESSION[$this->keepUserChannelTag] = $this->userChannel;  v- X& G( \# D( T, a2 Q

0 D. H$ W4 {+ i  a! O// @session_register($this->keepUserNameTag);$ }0 x5 p6 l$ B) I& A
$_SESSION[$this->keepUserNameTag] = $this->userName;
( Q3 G1 \5 p) Q! F: v+ X  ], q4 \& E  R+ E/ [. a! Y1 k: ?( r  I
// @session_register($this->keepUserPurviewTag);2 D/ e. p7 X, S1 v) v" |, U
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;+ }/ q  A! i8 E, p( c
+ `# Z) E! K5 N3 m/ f, T! L
// @session_register($this->keepAdminStyleTag);: s, ?& z: |2 }& p$ c
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;7 M4 n- U. X3 j( k

8 y0 ^! L9 W' G8 X- ^2.dedecms发布文章提示"标题不能为空"
7 [' s# `- F$ @- w& m
, w- \( }: ?" h' _3 w# u现象是发布英文标题没问题,发布中文会提示“标题不能为空”: O- E- b3 {7 m* C
因为htmlspecialchars在php5.4默认为utf8编码,
0 W3 O9 s) M% f! d; Y" Ogbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。. I7 Q0 A  `" h9 \
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
0 F# Y3 U( h7 d' L0 I! a# m9 ~+ H+ |
具体方法:
# s2 e% W4 a0 {. ]1.在dede安装目录执行  r" V' e4 u1 k7 [2 t
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`$ ~  \$ D/ G! O. x) a2 |8 \5 z

1 z9 w% [+ O3 X& _; g3 c( O+ V2./include/common.func.php中任意位置添加函数
* P  F9 m$ g. J. I$ G6 ?$ @- P( R, P# u1 D! x; q0 J4 R) Y
function gbkhtmlspecialchars($str)
3 J& R: G- \+ c: o# N1 T0 F{
5 ^: Z* I1 y+ D        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
- i4 U& `  I" t2 |' m6 R. J9 s}
. n2 g+ X: Y/ J, M" [注意:使用了本文方法的就不用理会这篇文章了:https://bbs.swdyz.com/thread329sw1dyz1.shtml
# b& j- P4 E8 t/ b( {$ i, K+ n
/ e) j$ ^- ]+ f8 T
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-10 06:01 , Processed in 0.061284 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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