找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10952|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。; J- u* o# L% q; a. H4 j1 @
) J/ |# n8 g8 L1 D, J/ B
1.解决dedecms登陆后台空白错误7 i9 P0 I) o+ F8 Z& v
因为php5.5的版本废除了session_register,所以需要去掉session_register函数4 x2 D( z" i6 u$ I1 h9 z( P4 \0 a

. j& U6 {! p6 g8 d3 q5 D$ ]修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
- V' u2 {. k" J//@session_register($this->keepUserIDTag);1 a) k" N* |* ]( X; Y1 Y+ J
$_SESSION[$this->keepUserIDTag] = $this->userID;
$ U" ^# w' }! E* ~: X
5 q0 y2 K4 n- u  v// @session_register($this->keepUserTypeTag);
7 ^! F7 C5 }) K: F$_SESSION[$this->keepUserTypeTag] = $this->userType;
+ x+ a* T7 X; U1 P; W9 g: a' Y$ G- e0 t: u+ K8 B: R& K" x& i
// @session_register($this->keepUserChannelTag);; G8 ]$ R. U3 d/ u0 M3 p8 Q
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;( F# X  Z' L% z6 W' Y
) s, v  ~6 @8 Y( ]+ ]7 m
// @session_register($this->keepUserNameTag);& K1 O& q  g, L8 b6 ^) U4 J
$_SESSION[$this->keepUserNameTag] = $this->userName;
3 k0 b) I! v$ O4 [9 H  M( \0 d
// @session_register($this->keepUserPurviewTag);) o4 X% X1 L7 s" P9 a. p
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
) R: j/ d8 D+ X: Q- K. `
, S' u& N& W. Q// @session_register($this->keepAdminStyleTag);) i+ x* I) I1 Q, k$ U; K
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
$ B. i: a: }% N2 a
% V3 n; R/ n- P0 F; ]( l% i1 k& b2.dedecms发布文章提示"标题不能为空"+ [, w; X) \* E1 w+ T4 K  Y
4 P3 U( X- O4 U4 c
现象是发布英文标题没问题,发布中文会提示“标题不能为空”
. }9 s( F4 F0 K  [/ p1 v1 P7 M4 |因为htmlspecialchars在php5.4默认为utf8编码,
( U1 i% A& r% b* y% Sgbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
- X4 _0 o+ t8 j2 E+ A所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
+ L. T5 y/ J& G) q  _% Y. \
; E% k0 \0 T! Z: {2 h3 {0 E具体方法:; f+ O7 M, Q: p3 a2 x
1.在dede安装目录执行! ~! t6 X; U1 q$ B; n  Y
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
+ `( Z# k# M# |" k2 Z. d9 ?0 Z* a1 i
* v- a* i5 H7 o$ o0 Q2./include/common.func.php中任意位置添加函数
9 _  n' M7 T8 L* |9 Z+ g# ?" x! j( Z3 J7 {7 W
function gbkhtmlspecialchars($str)( j" j. a+ G; @3 \
{, K0 u. j2 O, |' H& ^( Z. Q! c
        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
) s4 j2 }6 @0 O% S" r/ @5 A& ?: I, Q}9 `, [7 I( C- |1 Z" a1 F4 t* [4 _, X
注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml
; ^+ ~+ Q- m0 F1 Z* y2 m9 m5 r
" o$ ^! }5 k) ?* A3 u; X. ?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-6-25 09:53 , Processed in 0.061189 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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