PHP smarty 模板问题。

$action=trim($_GET['act']);if($action=="login"){$smarty->display('templates/login.htm... $action = trim($_GET['act']);
if ($action == "login"){
$smarty->display('templates/login.html'); //这个可以在访问 xx.php?act=login 生效
}elseif ($action == "ticheng"){
$smarty->display('templates/ticheng.html'); //这个可以在访问 xx.php?act=ticheng不生效
}elseif($action == "delivery"){
$smarty->display('templates/delivery.html'); //这个可以在访问 xx.php?act=delivery不生效
}elseif($action == "logout"){
setcookie('user_name',time()-1);
header("location:http://127.0.0.1/fh/index.php?act=login");
}

为什么第一个生效,后面都不生效?
<?
session_start();
require 'config.php';
include ('mysql.class.php') ;
$db = new mysql($db_host, $db_user, $db_pwd, $db_database, $conn, $coding);
$back_url = $_SERVER['HTTP_REFERER'];
$smarty->assign("themes", "/fh/templates/");
$smarty->display('templates/ticheng.html');
?>

单独写一个这样的都不行。。。
只有一个PHP可以使用模板。。
生成模板缓存的目录,只生成了1个缓存文件,其他的都不生成。
展开
 我来答
immvphack
推荐于2016-06-03 · 超过26用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:48.3万
展开全部
switch(trim($_GET['act'])){
case 'login:
$smarty->display('templates/login.html');

break;
case 'ticheng':
$smarty->display('templates/login.html');

break;
$smarty->display('templates/ticheng.html');
}
建议你用这种写法。不要使用if
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
网易云信
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同... 点击进入详情页
本回答由网易云信提供
匿名用户
2015-08-26
展开全部
从代码逻辑上来说没有看出来错误,麻烦吧$action输出看下。
更多追问追答
追问
$action 输出正常
echo $action;

都能得到 ticheng,delivery
追答
在if分支里加入输出语句来判断if语句是否执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式