找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10025|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。9 K' I* _* @2 D# y, p: e( e- M

1 C* p+ w( C+ i7 |5 @1.解决dedecms登陆后台空白错误
  x# U# E. P$ a1 Q+ y' q因为php5.5的版本废除了session_register,所以需要去掉session_register函数$ U. s: Q, \! u! M0 F# f$ s. H
' e* _( V* f9 _2 C5 P& u/ n
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
  g% ^% |+ b7 R2 r+ D" M//@session_register($this->keepUserIDTag);
7 K# T/ \5 `% [( t1 K- n) P  r$_SESSION[$this->keepUserIDTag] = $this->userID;5 Q( U# P& J5 G' i
" P8 k: M. T" ^- L9 c$ Y1 d
// @session_register($this->keepUserTypeTag);: }! [& B" v  Q% t: {6 d" m" v8 L
$_SESSION[$this->keepUserTypeTag] = $this->userType;' n. Y& O) {( s" E- C0 P, g5 ~* Z

. m, U7 o: C+ ^# n9 C0 Q+ L// @session_register($this->keepUserChannelTag);
3 w  P; U% A. F# w, L$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
; Q- S8 C& c4 y/ w2 ?4 p: P' C. ~
// @session_register($this->keepUserNameTag);% C+ j) V9 m# U$ ~
$_SESSION[$this->keepUserNameTag] = $this->userName;
, |9 i! M! V, w
. N8 D3 Q5 q) ^% O" O! Y6 a// @session_register($this->keepUserPurviewTag);7 x+ C, w1 O# m. D. K: t! I+ q+ H
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;! v5 k. f# X5 ]! p! O% |

+ ?+ l. @1 o0 x0 U9 R8 R/ @& w// @session_register($this->keepAdminStyleTag);
  V( p! t! L$ [$_SESSION[$this->keepAdminStyleTag] = $adminstyle;9 J  t+ w. Z& M$ N- c4 p

. ?6 I- l) O$ f1 _6 O2.dedecms发布文章提示"标题不能为空"; k5 i  X: g* V9 p) y

% T. C0 z1 Q, R现象是发布英文标题没问题,发布中文会提示“标题不能为空”
; E' u# Y% |( ~/ L5 s& y4 ?因为htmlspecialchars在php5.4默认为utf8编码,
& G1 p# V% a6 @( Egbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。2 q9 t/ ^$ C( u' Z7 A, A
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。6 f: f3 S: c! k5 B, Y9 x
3 v' F/ e8 K# v1 h, e* Q$ P
具体方法:
; L0 P+ `4 z. a# h2 K# Y; U1.在dede安装目录执行
; ?1 S9 `0 J) d+ I% I1 Csed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`' n* {& Q. l  p2 Z, m& h

, \8 \3 S% C6 F' l: r5 D% g/ H2./include/common.func.php中任意位置添加函数
' a$ W9 r* ], T4 A0 f. |; V8 z- b& v7 R1 B
function gbkhtmlspecialchars($str)! |' b# h+ l( m8 Z7 R! P6 a
{& i& E9 s4 u* o( a' t$ j) U
        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');( R1 t2 M, ]% J0 F0 Y
}
! a9 C) L& P# M; a4 e1 n& T注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml5 a. O/ h; i$ P# F4 o' I& s# ?

2 s, J8 E# d. s% r
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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