找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10786|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。: F& H$ Q4 g6 G" M" G5 h9 q, f

( D8 f2 f2 q8 i) S1.解决dedecms登陆后台空白错误( Q( S8 i# b4 l% l' w' Z6 E
因为php5.5的版本废除了session_register,所以需要去掉session_register函数! r/ h. F8 v2 c; X; }, w# \4 t% E; `

3 v$ T( z, C' N$ p8 D* w修改:“include/userlogin.class.php”,注释掉session_register,修改后如下" ~) k5 W+ ?8 E$ X& w& _3 _7 S  e
//@session_register($this->keepUserIDTag);/ [6 s' w  y9 g
$_SESSION[$this->keepUserIDTag] = $this->userID;  h# s, f2 c" Q# \5 G

6 R9 c$ y# s6 ~( |1 L// @session_register($this->keepUserTypeTag);
  M4 ]( v$ O) C2 D% x$_SESSION[$this->keepUserTypeTag] = $this->userType;4 _5 d  J. M0 x/ }

0 K! D4 ^' w0 g5 l: K: B. E' p// @session_register($this->keepUserChannelTag);( ?$ x( V! k4 @. ~; @$ S" N
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;% L7 T1 [% ^/ z/ `! W4 f  x

$ t) h; Y" g9 G+ C" M* n( B1 `// @session_register($this->keepUserNameTag);8 F3 n( u9 f% Q
$_SESSION[$this->keepUserNameTag] = $this->userName;- i* |& k4 ~/ M0 Q  [' n) V2 ~! G
& t% {$ X. g( Z/ L  e3 {5 k. `1 ^
// @session_register($this->keepUserPurviewTag);
6 r% O5 L2 ]8 \; e$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;, B2 y1 [0 F( G

) C2 n# s& y7 g// @session_register($this->keepAdminStyleTag);% `+ }- `: v" `" \& [2 T0 A' A$ K
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
8 G% L* m6 l/ O( [% A( T8 t& s. L6 q% s1 k5 a
2.dedecms发布文章提示"标题不能为空"
. o6 s& S3 v0 Q" Q( l0 [; x- s. ^- ]8 u/ B+ L
现象是发布英文标题没问题,发布中文会提示“标题不能为空”; \# H! c& B5 z) U/ B0 Y: g
因为htmlspecialchars在php5.4默认为utf8编码,0 |, Q* S' W2 v/ F2 c
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
2 V, \. A8 K  l5 K所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。2 r& s6 @& L1 c1 A
$ ?5 Z: H$ n8 ~% ^& j6 \
具体方法:4 K4 C2 u1 |# z$ ^. M, A
1.在dede安装目录执行  T4 O" p1 f. V7 }1 m+ v  }1 A  r
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
2 I" n9 s2 R9 H1 O  X; c$ [# O. ]/ S% J8 @# i3 G
2./include/common.func.php中任意位置添加函数+ F+ u$ ]9 [- u  R; V% M% N3 M6 Z

* U5 |7 @% t* v4 e% K3 u$ h0 dfunction gbkhtmlspecialchars($str)
+ u  q. `- \* m3 Y{1 f0 [, K' V- [# A2 f, z
        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
: i$ _) i0 }- v7 d( |) C1 K}
% d9 {( r7 C7 [- k$ l注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml
$ C. P4 L% {" t
" X- E* ?3 |8 e4 o: o% G9 f
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-5-31 03:00 , Processed in 0.073284 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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