找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9064|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
4 M  L( ^4 {* y: z) d5 O
/ w6 C+ M& H, t) A* w% }1.解决dedecms登陆后台空白错误
. ^- j, k  {/ B因为php5.5的版本废除了session_register,所以需要去掉session_register函数4 F+ Y% E% P5 m) n0 n; M

' A# c5 I. [3 G$ S- ?: |修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
8 U  s- }- I2 k  O' k' ^//@session_register($this->keepUserIDTag);
9 O  j: p# ?, ~' s: g$_SESSION[$this->keepUserIDTag] = $this->userID;  m1 |6 F* s5 h7 I) l# [, D

  o2 O9 G% ^( d$ ]+ y& d  [: W// @session_register($this->keepUserTypeTag);& l2 Q8 W0 P$ i5 J/ y) J* Z( S' K$ ^5 D
$_SESSION[$this->keepUserTypeTag] = $this->userType;- ^. L* s  z3 ~6 h; ]7 O' e. n, @' s
1 a; C6 u5 f# _: q& P1 q6 U; j2 }
// @session_register($this->keepUserChannelTag);
( O4 q; i9 \( n8 r$_SESSION[$this->keepUserChannelTag] = $this->userChannel;4 r. _" P# ^6 s0 ^! S% d# L& E

. Y% w, F6 p0 h* G// @session_register($this->keepUserNameTag);$ d$ t1 }- C6 J! W9 @; C
$_SESSION[$this->keepUserNameTag] = $this->userName;7 l2 [% T2 A' O

3 Q5 D5 F! p' s" B2 _// @session_register($this->keepUserPurviewTag);+ g8 h# g  a" b$ ~
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;" ]0 t! e' q( J. @8 n

# o/ W% H& a- n! ^$ H/ ~// @session_register($this->keepAdminStyleTag);
* \$ |7 Z+ Q6 C( \8 v$_SESSION[$this->keepAdminStyleTag] = $adminstyle;% B8 D; N9 L9 y4 A" Y- S7 Y
$ y5 {' f2 j% i
2.dedecms发布文章提示"标题不能为空". o* o- W! e& n3 s
. W0 {0 k3 Y7 [9 ?" ?& l4 r
现象是发布英文标题没问题,发布中文会提示“标题不能为空”  c0 o! T4 ^* t; o: q1 k  S6 g* t
因为htmlspecialchars在php5.4默认为utf8编码,2 I$ s, y0 J* W- q. m/ R
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
$ u: H( J0 J+ E! m0 r- X+ S所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
  @2 S0 R4 I& w0 L; K' D! z" A: D. w! m: z# l( A7 v$ K) [! b' Z
具体方法:
' f2 q3 r  c1 I: S1.在dede安装目录执行
. E7 M( K# A$ a7 s6 Used -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
2 n; m* A; q' ^4 s4 v$ q: n5 T3 Z' K, T1 w/ b
2./include/common.func.php中任意位置添加函数
1 d7 [& @; C, l6 x. d, o# p1 T" o8 K4 v2 R3 ]
function gbkhtmlspecialchars($str)
2 K* Y0 `8 P( _# b, _{0 b% _& Z# |) m2 X7 W
        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
" \: S, L* }/ _9 z5 m; R1 M1 s3 e}
% w- V8 `" d6 J2 o# u" L& @# v" M注意:使用了本文方法的就不用理会这篇文章了:https://bbs.swdyz.com/thread329sw1dyz1.shtml7 G8 ^" e/ W% |7 R7 x

0 q- m' I# _5 _: x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-18 21:35 , Processed in 0.053566 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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