找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11259|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。" n1 ~7 {( B3 u9 Q
( N3 u- _3 W# _6 K* x& u" x
1.解决dedecms登陆后台空白错误6 H! b. a3 X' g" q& K, S) l
因为php5.5的版本废除了session_register,所以需要去掉session_register函数* k( x  o+ i+ L8 K: c

" a6 `" J/ K4 E' a修改:“include/userlogin.class.php”,注释掉session_register,修改后如下; Y. I% \. U3 l/ s$ A) e2 J  ]. `
//@session_register($this->keepUserIDTag);- M! G' ]# e6 `* t! E) l
$_SESSION[$this->keepUserIDTag] = $this->userID;/ i9 k' c$ N+ P+ Q
* z$ s! \! A9 ?% B; C7 H6 l
// @session_register($this->keepUserTypeTag);' q' C2 X. B; L
$_SESSION[$this->keepUserTypeTag] = $this->userType;) u, b& a; `; m5 Q0 q+ B
$ b/ Q9 m1 G8 i* O( \
// @session_register($this->keepUserChannelTag);
/ P9 U! J) G1 t7 l8 U# N6 g$_SESSION[$this->keepUserChannelTag] = $this->userChannel;+ `+ j% x8 s$ m7 @/ J# h
! D; J0 I. _) H) j) w* h
// @session_register($this->keepUserNameTag);: o5 s- ]) ?9 ]% Y
$_SESSION[$this->keepUserNameTag] = $this->userName;; P  r) h+ K6 J3 L) b% g

+ i/ V3 z% _* ~+ a, @  j1 U// @session_register($this->keepUserPurviewTag);
* l- @7 ], I* y$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;- M/ r$ `% K4 r! @

. C( ]) _1 E5 N) Q7 |// @session_register($this->keepAdminStyleTag);. w+ Y: [5 z8 T) U
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
/ h9 _. r4 Y( T& L( \! y9 z: |. u- a! G4 i# i+ R. m/ Y% l
2.dedecms发布文章提示"标题不能为空"& k8 `( G1 x5 j' P6 n
/ r) Z' i, J* i- F, U* ]1 g/ o+ x
现象是发布英文标题没问题,发布中文会提示“标题不能为空”9 W; r( C( {0 y( G5 e$ _2 ~0 W. \0 t% f0 r
因为htmlspecialchars在php5.4默认为utf8编码,3 W. V+ L5 g% z3 }8 G/ n- Y
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。, X( k' R& ?7 L  @, m
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
# _+ l. ?+ [" W$ a* L: M6 X- X
8 J$ f; y. y6 o( r8 H具体方法:
) g" f; _' X7 ~1 E1.在dede安装目录执行
4 a3 o1 r! U( h) |$ X" `sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
1 H* p# x: G, L* `6 T3 O' X' X7 s6 H. ]* K
2./include/common.func.php中任意位置添加函数
5 b& n0 c/ ~% I9 m
4 D* o3 b9 N! Q& d) Z' i: E! Dfunction gbkhtmlspecialchars($str)6 j' O2 n& }- |# q  q/ u& V
{  {0 g$ u% M; A
        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');% q+ E% ?, ^1 s4 ?7 o8 |2 [
}
) {+ E+ }$ j! V* s9 R注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml% Z5 A3 h; P& @, E% ^
* p! G# ]" p2 p  M2 s
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-8-15 07:00 , Processed in 0.067875 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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