找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11513|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。% R$ ^! ]0 G" i. k% N

0 ~4 N, I) b/ H( B2 r( ^1.解决dedecms登陆后台空白错误
, a" u: f# y3 O& t3 M因为php5.5的版本废除了session_register,所以需要去掉session_register函数% t* R0 \# i. ^, n7 m% O. j2 q
* s$ j5 c. j7 u! h  H7 H0 H0 T
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
' X2 d  e/ S% |, A//@session_register($this->keepUserIDTag);) v/ A& G3 D2 j( k  D$ G5 P: f
$_SESSION[$this->keepUserIDTag] = $this->userID;; u5 Y% D6 f  g  P
, E% X5 t, `9 H1 D* O4 E+ \3 U6 E$ w4 z
// @session_register($this->keepUserTypeTag);: e5 G- Q* |; Z- K
$_SESSION[$this->keepUserTypeTag] = $this->userType;
4 r4 \$ v8 n, y4 L3 ?
2 s4 }, q" r: U: M# t8 C, M// @session_register($this->keepUserChannelTag);
( G  _" n/ |; c& N9 ^9 y" n1 U$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
5 q. R' e( R. X  ]+ F: d. B! ?7 {0 P8 U+ J$ |  K0 W* p4 O
// @session_register($this->keepUserNameTag);- t* G, h$ j( s) k. e$ e: d" j" D6 A
$_SESSION[$this->keepUserNameTag] = $this->userName;7 ]' l2 f. e% D
3 D% {8 |* S) k/ i$ C5 }3 t
// @session_register($this->keepUserPurviewTag);
1 C/ r, W1 ~+ p+ D7 J$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;4 e6 E! b! q/ k7 L  U5 k4 i) ^4 o
5 `# D9 S9 F3 w
// @session_register($this->keepAdminStyleTag);+ C8 _$ n2 c% ^% I% _6 E
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;$ S4 g, A, `6 a: K4 @& L

  f* [+ B, h7 ~2.dedecms发布文章提示"标题不能为空"
- C, q7 d) E. s/ ^, v
- q3 C. u, y; R' o8 G  |现象是发布英文标题没问题,发布中文会提示“标题不能为空”
" V6 T/ Q+ b) `! ]4 C2 }因为htmlspecialchars在php5.4默认为utf8编码,
( K: |/ X1 R, w! F- _% L0 n2 rgbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
( K8 c/ s% M% ?* ~所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。( e# i: t# z4 W3 a2 T0 T2 a) m

& \, l9 @) g, P6 r& Q$ y0 a7 n$ {具体方法:4 I& L1 s: c5 A' ]
1.在dede安装目录执行  {3 F( g; f$ |; \2 j3 w2 |
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
. W+ \( o) n+ g$ f- N6 H' O$ }! N; Q* y  W/ H
2./include/common.func.php中任意位置添加函数9 @7 p. j# {2 r/ ]6 l( k' e; J

; B: B- p7 T5 Dfunction gbkhtmlspecialchars($str)
' b& ^4 D3 i* a$ L& Z# T{, z$ x/ @! x5 C& \
        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
7 R+ [9 L; g6 E+ C- f5 m}
3 t* ~2 X# z0 |8 p; H/ I/ z注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml
2 h( {7 i7 f* h* V8 P
. {1 d+ u$ M6 `% T; t3 G7 |
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-9-29 20:40 , Processed in 0.056994 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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