找回密码
 立即注册
查看: 6563|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。& |/ m- Q5 \$ F: \! @$ \/ ~) T; P1 L

8 G+ W2 k2 u! V  b/ f2 {( \7 W1.解决dedecms登陆后台空白错误& a* f5 i- Z4 l$ Q* p+ d
因为php5.5的版本废除了session_register,所以需要去掉session_register函数
9 ?  L( @( y' K, m' `# i: ^/ n
) a- I' [& j2 v# B9 F修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
4 o. z9 \, D2 S2 ~! L5 R//@session_register($this->keepUserIDTag);
( I' T4 L/ i3 _" C$_SESSION[$this->keepUserIDTag] = $this->userID;
0 `3 C$ ]; G* F7 o. G! X/ Q. A, M9 r" ^- O
// @session_register($this->keepUserTypeTag);
% s5 P& H4 i' u9 B$_SESSION[$this->keepUserTypeTag] = $this->userType;
9 f1 k( ^/ j/ `* T8 K, U7 h9 X# Z$ z1 B# A9 ~+ D
// @session_register($this->keepUserChannelTag);
3 }$ p. Y' \' y4 j  l* s$ w- i$_SESSION[$this->keepUserChannelTag] = $this->userChannel;$ X5 Z) i1 L- @

1 r% v: @) z! ]8 Z0 I3 s// @session_register($this->keepUserNameTag);
+ i! n' _# v- X; j7 q$_SESSION[$this->keepUserNameTag] = $this->userName;
  j; `8 p6 z$ p8 J3 ^
% ^+ C9 P! s$ Z2 }) r( I) w& d// @session_register($this->keepUserPurviewTag);9 a" D  `0 E2 e& _) M; W6 |2 `  ~
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
2 e0 j# n, n$ `- K- x
& b* x( r0 W8 T, v// @session_register($this->keepAdminStyleTag);
/ U, U+ X, x/ K$ M! E1 a% Y$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
* y8 T4 i5 C: C
: P: Q7 i6 t; K2.dedecms发布文章提示"标题不能为空"& o& I- i$ R4 B# C" O  f. z6 z

" v. I/ R$ {. Q. k& K现象是发布英文标题没问题,发布中文会提示“标题不能为空”
  d+ m8 ^* N4 o因为htmlspecialchars在php5.4默认为utf8编码,- s7 O" Z+ V# g+ {5 g- @; n6 E0 n
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。6 E; N& _+ S! p9 n5 u
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
. Y, [* L- ~6 X. L- u, `" |
/ P% Y+ E, K; E# }具体方法:' I7 x+ }- v% y, ]- `% L. t1 Z; a
1.在dede安装目录执行
" S/ O; o( F$ S; M5 bsed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`5 z- N, x5 i$ H. J

! N8 T8 v0 k* ?$ s+ f* L( S2./include/common.func.php中任意位置添加函数
0 o4 q0 y, O) ~; _# w$ k3 Z" g, a+ r  m6 D
function gbkhtmlspecialchars($str)" k& J  ~/ Q6 Y+ O: }) J
{( u- o8 S5 @: O3 w
        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
) x$ v0 m/ R& d3 i( S}/ ^" l! }: X8 S1 z7 C
注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml; G) q0 I/ e5 t+ p+ e

2 b2 \3 Y. d: e% v0 j2 }& w+ ~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-3-19 19:49 , Processed in 0.061013 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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