这几天用smarty做后台,出现了很多问题,相信有的同学也遇到了同样的问题,不废话直接贴代码
教你如何完美解决smarty后台出现的问题,smarty与freamset的问题
下边这段代码是模板代码,你懂的
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<HTML>
<HEAD>
<TITLE>YfNews管理中心</TITLE>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<META http-equiv=Pragma content=no-cache>
<META http-equiv=Cache-Control content=no-cache>
<META http-equiv=Expires content=-1000>
<LINK href="images/admin.css" type="text/css" rel="stylesheet">
</HEAD>
<FRAMESET border=0 frameSpacing=0 rows="60, *" frameBorder=0>
<FRAME name=header src="header.php" frameBorder=0 noResize scrolling=no>
<FRAMESET cols="170, *">
<FRAME name=menu src="menu.php" frameBorder=0 noResize>
<FRAME name=main src="main.php" frameBorder=0 noResize scrolling=yes>
</FRAMESET>
</FRAMESET>
<noframes>
</noframes>
</HTML>
header.php
<?php
require_once('global.php');//将smarty配置信息包含进来 与 require(init.inc.php)一样,只是我起得名字不一样
$smarty->assign('user', $_SESSION['name']);
$smarty->display('header.htm');
?>
同样menu.php,main.php跟header.php里边东西一样 只是$smarty->display('对应的模板');
这样配置好后,有的同学可能会出现页面显示不出来问题,页面空白,或者是有乱码出现
遇到这样问题的,那是因为编码问题导致的,这个跟验证码的解决办法是一样的,以前再做验证码的时候也出现过
验证码是对的,但是就是不显示,后者出现一个 红X
在php文件中,加上 ob_clean();试一下,还有一种解决方法,就是改变编码,用UE或者其他工具,记事本不行哦 将文件
另存为的时候有一个编码,请选择 UTF8无BOM格式的,因为utf8格式,前边自动有一个输出,ob_clean();的作用是清除文
件头的输出部分,视个人爱好选择。希望能为大家带来帮助。