windows环境下,smarty模版路径的问题? news//pageheader.tpl 对应 news/$catalog/pageheader.tpl所以应该看看$catalog的输出,你现在$catalog是空值,应该是非空才对! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $catalog值应从这来的:帮我看一下,楼上兄弟<?phprequire_once('../base.php');if($_REQUEST[catalog]=="0103"){$GLOBALS['rows']=5;}?><?//ÁбíÏÔʾÄÚÈÝfunction listAll(){ global $db , $func ,$smarty ; $selectSql = "select * from $GLOBALS[news_table] where news_type = '$_REQUEST[catalog]' "; $selectSql .=" order by news_seq desc "; mylog(__LINE__,"selectSql=$selectSql"); $db->SetFetchMode(ADODB_FETCH_ASSOC); //$rs = $db->Execute($selectSql); $page = $_REQUEST['page'] ? $_REQUEST['page'] : 1; $nrows = $GLOBALS['rows']; $rs = $db->PageExecute($selectSql, $nrows, $page); if($db->ErrorMsg()){ mylog(__LINE__,"Db Error" . $db->ErrorMsg() ); }else{ $rs_arr = $rs->GetArray(); $smarty->assign('rs_arr',$rs_arr ); if($rs->AtFirstPage()){ $prevpage = 1 ; }else{ $prevpage = $page -1 ; } if($rs->AtLastPage()){ $nextpage = $page ; }else{ $nextpage = $page +1 ; } $smarty->assign("prevpage", $prevpage); $smarty->assign("nextpage", $nextpage); $smarty->assign("catalog", $GLOBALS[catalog]); $smarty->assign("func", $func); } }#ÏêϸÄÚÈÝfunction Detail(){ global $db , $func ,$smarty; $selectSql = "select * from $GLOBALS[news_table] where news_id = " . $db->Quote($_REQUEST[newsid]) ." "; mylog(__LINE__,"selectSql=$selectSql"); $db->SetFetchMode(ADODB_FETCH_ASSOC); $rs = $db->Execute($selectSql); if($db->ErrorMsg()){ mylog(__LINE__,"Db Error" . $db->ErrorMsg() ); }else{ $row = $rs->FetchRow(); $smarty->assign('row',$row ); $smarty->assign("func", $func); $smarty->assign("catalog", $GLOBALS[catalog]); }}//ÁбíÏÔʾÄÚÈÝfunction listSearch(){ global $db , $func ,$smarty, $query_var, $keywords; $selectSql = "select * from $GLOBALS[news_table] where news_type = '$_REQUEST[catalog]' "; if($query_var=="0"){ $selectSql.=" and news_title like '%$keywords%' "; }else{ $selectSql.=" and news_content like '%$keywords%' "; } $selectSql.=" order by news_id desc "; //echo $selectSql; mylog(__LINE__,"selectSql=$selectSql"); $db->SetFetchMode(ADODB_FETCH_ASSOC); //$rs = $db->Execute($selectSql); $page = $_REQUEST['page'] ? $_REQUEST['page'] : 1; $nrows = $GLOBALS['rows']; $rs = $db->PageExecute($selectSql, $nrows, $page); if($db->ErrorMsg()){ mylog(__LINE__,"Db Error" . $db->ErrorMsg() ); }else{ $rs_arr = $rs->GetArray(); $smarty->assign('rs_arr',$rs_arr ); if($rs->AtFirstPage()){ $prevpage = 1 ; }else{ $prevpage = $page -1 ; } if($rs->AtLastPage()){ $nextpage = $page ; }else{ $nextpage = $page +1 ; } $smarty->assign("prevpage", $prevpage); $smarty->assign("nextpage", $nextpage); $smarty->assign("catalog", $GLOBALS[catalog]); $smarty->assign("func", $func); } }#ÏÔʾµ±Ç°Î»ÖÃfunction location(){ global $db , $func ,$smarty, $catalog, $keywords; $selectSql = "select * from $GLOBALS[catalog_table] where cat_code = '" . substr($_REQUEST[catalog],0,2) ."' "; $rs = $db->Execute($selectSql); if($db->ErrorMsg()){ mylog(__LINE__,"Db Error" . $db->ErrorMsg() ); }else{ $row = $rs->FetchRow(); $smarty->assign('location1',$row[cat_name] ); } $selectSql = "select * from $GLOBALS[catalog_table] where cat_code = " . $db->Quote(substr($_REQUEST[catalog],0,4)) ." "; $rs = $db->Execute($selectSql); if($db->ErrorMsg()){ mylog(__LINE__,"Db Error" . $db->ErrorMsg() ); }else{ $row = $rs->FetchRow(); $smarty->assign('location2',$row[cat_name] ); } $smarty->assign('catalog',$catalog ); $smarty->assign('keywords',$keywords );}location(); if($func=="listAll"){ listAll(); }else if($func=="detail"){ Detail(); }else if($func=="search"){ listSearch(); } $smarty->display('index.tpl');?>下面是index.tpl调用的语句{include file="news/$catalog/pageheader.tpl"} 看一条新闻的内容,如index.php?func=detail&catalog=0101&newsid=410应该是赋值了呀?程序也没错呀 修改这几行<?phprequire_once('../base.php');if($_REQUEST[catalog]=="0103"){$GLOBALS['rows']=5;}?>修改后<?phprequire_once('../base.php');global $catalog;$catalog = $_GET['catalog'];if($catalog == "0103"){$GLOBALS['rows']=5;}?> index.tpl中调用detail.tpl。detail.tpl中有句显示内容的:{$row.news_content} php.ini中的register_globals = off 改为register_globals = on linux下是正确的,所以在winodws下的php的版本和php.ini最好都跟linux下一致。根本原因是程序的兼容问题。$_REQUEST是无法区分get和post方式。 不行,一样好像是整个detail.tpl都不启作用,标题、内容等都没显示会不会跟$row = $rs->FetchRow(); $smarty->assign('row',$row );其中的fetchrow()函数有关? 收藏 请教一个PHP中嵌入flash播放器问题? 如何在mysql中用PHP插入日/月/年格式的日期呀!!大侠帮忙 mysql 问题。。。请教大牛!!! filemtime()時間怎麼抓不到呢 从客户端POST了一个XML到服务器端,如何接收? php批量修改问题 用fopen访问http出错的问题! javascript能读取sesssion变量的值吗? 我剩下的工资要怎样才能拿得回?---帮帮我啊 session怎么不起作用? 用PHP开发论坛,数据库应该如何设计? 北京急需招聘程序员:
帮我看一下,楼上兄弟
<?php
require_once('../base.php');
if($_REQUEST[catalog]=="0103"){
$GLOBALS['rows']=5;
}
?><?
//ÁбíÏÔʾÄÚÈÝ
function listAll(){
global $db , $func ,$smarty ;
$selectSql = "select * from $GLOBALS[news_table] where news_type = '$_REQUEST[catalog]' ";
$selectSql .=" order by news_seq desc ";
mylog(__LINE__,"selectSql=$selectSql");
$db->SetFetchMode(ADODB_FETCH_ASSOC);
//$rs = $db->Execute($selectSql);
$page = $_REQUEST['page'] ? $_REQUEST['page'] : 1;
$nrows = $GLOBALS['rows'];
$rs = $db->PageExecute($selectSql, $nrows, $page);
if($db->ErrorMsg()){
mylog(__LINE__,"Db Error" . $db->ErrorMsg() );
}else{
$rs_arr = $rs->GetArray();
$smarty->assign('rs_arr',$rs_arr );
if($rs->AtFirstPage()){
$prevpage = 1 ;
}else{
$prevpage = $page -1 ;
}
if($rs->AtLastPage()){
$nextpage = $page ;
}else{
$nextpage = $page +1 ;
}
$smarty->assign("prevpage", $prevpage);
$smarty->assign("nextpage", $nextpage);
$smarty->assign("catalog", $GLOBALS[catalog]);
$smarty->assign("func", $func);
}
}#ÏêϸÄÚÈÝ
function Detail(){
global $db , $func ,$smarty; $selectSql = "select * from $GLOBALS[news_table] where news_id = " . $db->Quote($_REQUEST[newsid]) ." ";
mylog(__LINE__,"selectSql=$selectSql");
$db->SetFetchMode(ADODB_FETCH_ASSOC);
$rs = $db->Execute($selectSql);
if($db->ErrorMsg()){
mylog(__LINE__,"Db Error" . $db->ErrorMsg() );
}else{
$row = $rs->FetchRow();
$smarty->assign('row',$row );
$smarty->assign("func", $func);
$smarty->assign("catalog", $GLOBALS[catalog]);
}
}//ÁбíÏÔʾÄÚÈÝ
function listSearch(){
global $db , $func ,$smarty, $query_var, $keywords;
$selectSql = "select * from $GLOBALS[news_table] where news_type = '$_REQUEST[catalog]' ";
if($query_var=="0"){
$selectSql.=" and news_title like '%$keywords%' ";
}else{
$selectSql.=" and news_content like '%$keywords%' ";
}
$selectSql.=" order by news_id desc ";
//echo $selectSql;
mylog(__LINE__,"selectSql=$selectSql");
$db->SetFetchMode(ADODB_FETCH_ASSOC);
//$rs = $db->Execute($selectSql);
$page = $_REQUEST['page'] ? $_REQUEST['page'] : 1;
$nrows = $GLOBALS['rows'];
$rs = $db->PageExecute($selectSql, $nrows, $page);
if($db->ErrorMsg()){
mylog(__LINE__,"Db Error" . $db->ErrorMsg() );
}else{
$rs_arr = $rs->GetArray();
$smarty->assign('rs_arr',$rs_arr );
if($rs->AtFirstPage()){
$prevpage = 1 ;
}else{
$prevpage = $page -1 ;
}
if($rs->AtLastPage()){
$nextpage = $page ;
}else{
$nextpage = $page +1 ;
}
$smarty->assign("prevpage", $prevpage);
$smarty->assign("nextpage", $nextpage);
$smarty->assign("catalog", $GLOBALS[catalog]);
$smarty->assign("func", $func);
}
}#ÏÔʾµ±Ç°Î»ÖÃ
function location(){
global $db , $func ,$smarty, $catalog, $keywords; $selectSql = "select * from $GLOBALS[catalog_table] where cat_code = '" . substr($_REQUEST[catalog],0,2) ."' ";
$rs = $db->Execute($selectSql);
if($db->ErrorMsg()){
mylog(__LINE__,"Db Error" . $db->ErrorMsg() );
}else{
$row = $rs->FetchRow();
$smarty->assign('location1',$row[cat_name] );
} $selectSql = "select * from $GLOBALS[catalog_table] where cat_code = " . $db->Quote(substr($_REQUEST[catalog],0,4)) ." ";
$rs = $db->Execute($selectSql);
if($db->ErrorMsg()){
mylog(__LINE__,"Db Error" . $db->ErrorMsg() );
}else{
$row = $rs->FetchRow();
$smarty->assign('location2',$row[cat_name] );
}
$smarty->assign('catalog',$catalog );
$smarty->assign('keywords',$keywords );}
location(); if($func=="listAll"){
listAll();
}else if($func=="detail"){
Detail();
}else if($func=="search"){
listSearch();
} $smarty->display('index.tpl');?>
下面是index.tpl调用的语句
{include file="news/$catalog/pageheader.tpl"}
应该是赋值了呀?程序也没错呀
<?php
require_once('../base.php');
if($_REQUEST[catalog]=="0103"){
$GLOBALS['rows']=5;
}
?>修改后
<?php
require_once('../base.php');
global $catalog;
$catalog = $_GET['catalog'];
if($catalog == "0103")
{
$GLOBALS['rows']=5;
}
?>
detail.tpl中有句显示内容的:
{$row.news_content}
根本原因是程序的兼容问题。
$_REQUEST是无法区分get和post方式。
好像是整个detail.tpl都不启作用,标题、内容等都没显示
会不会跟$row = $rs->FetchRow();
$smarty->assign('row',$row );
其中的fetchrow()函数有关?