找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10026|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
1 Q+ _9 L" k2 t$ V
, @$ v0 @* A* E$ r/ l' X1.解决dedecms登陆后台空白错误
$ X$ R+ ?! X& L9 o9 x1 t因为php5.5的版本废除了session_register,所以需要去掉session_register函数
6 p; D5 k. N# N2 P7 Z/ W
0 {2 A; E. \! T3 j0 D* P修改:“include/userlogin.class.php”,注释掉session_register,修改后如下+ B; n" u, b% x! q7 c
//@session_register($this->keepUserIDTag);0 E% K$ O1 q2 i' \& l& G
$_SESSION[$this->keepUserIDTag] = $this->userID;* k' P7 ?2 D0 j; O" m3 L
0 _$ u: Z* t5 Z. b5 W# K  G
// @session_register($this->keepUserTypeTag);. B3 ]. e4 H# G& J! @6 b
$_SESSION[$this->keepUserTypeTag] = $this->userType;( j8 B; j# [$ i+ I- ?( h" G" z' G- z

% ?3 N, G- `/ `; y6 K// @session_register($this->keepUserChannelTag);3 i. C' w' O2 g4 E9 o' y+ u$ F. B
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;$ a  X' e  s0 o% Q! w% M

  H1 o4 \" w+ t" C7 c& z5 a// @session_register($this->keepUserNameTag);
5 b7 P( S% R1 P6 S% N8 r$_SESSION[$this->keepUserNameTag] = $this->userName;2 o# a0 b( I) [) J) N" o0 ]
6 `5 v6 f  B5 M! ?$ T1 Y
// @session_register($this->keepUserPurviewTag);
# e5 I+ ]7 Y' V# q$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
) a7 ]: c! k4 x6 H  A6 ?' J+ N; o# O5 @
// @session_register($this->keepAdminStyleTag);7 {$ c0 E7 z( a2 z! R) L9 Q. [
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;$ z/ U' ^7 Z; {2 T' _$ R

0 w1 [; _( i! o! x1 u2.dedecms发布文章提示"标题不能为空"
' I) q, O9 Z% z8 b! h% K' q1 w
& I8 X; x1 |8 H- t/ _& d/ m" H现象是发布英文标题没问题,发布中文会提示“标题不能为空”
# f4 I3 Y7 z. [. q& p0 c% T因为htmlspecialchars在php5.4默认为utf8编码,6 N/ u: g2 K. C3 w8 \
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。$ Q; \# k. v0 E9 e- f
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
+ R7 ^* b2 ~1 p" ^7 ^& h4 }  q+ N! s6 m. Z' ?
具体方法:
9 o0 h( ~  Z' c( O0 J) s; p' j1.在dede安装目录执行" L1 i) I1 _. s9 [+ W
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
7 v) g' c( p7 ]9 m' i* K) Z: G
: V" z( g  b9 r* }2./include/common.func.php中任意位置添加函数
1 _; b  X* m( k/ X4 e% z
) z6 k+ a4 |2 r+ Q( l8 H* Pfunction gbkhtmlspecialchars($str)5 N6 }1 |& Z4 u2 J
{+ J: s6 p0 a1 R' b
        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
' D( \- x0 \8 V1 f$ T! ^}
7 B5 o/ u6 f- ?注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml3 A% o6 n' a  L7 \7 \

: d2 `2 f) L9 I* S! @4 O( t
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-2-7 02:23 , Processed in 0.046157 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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