虽然PHP不要求,钽将变量初始化一下是个好习惯。将
$main='';
放到最上面试试

解决方案 »

  1.   

    你的文件没有引用smartemplate类!
      

  2.   

    不行啊
    case "gb":
    require("class/guestbook.php");
    $main = $data_gb;//在这里$main是有值的,这时下面模板不能替换
    //echo $main;
    break;如果改成
    case "gb":
    $main = "会显示";
    break;
    这样的话下面那个模板就可以运行了,$main也会显示
      

  3.   

    模板跟smartemplate类都有引用的,不然不会取得到值的
    smartemplate类跟处理模板的php文件都是放在class/下面
    模板放在template/下面
      

  4.   

    把class.smarttemplate.php中的
    unset ($_top);
    改为
    unset($GLOBALS['$_top']);
      

  5.   

    终于行了
    改成
    //####guestbook.php
    <?
    $action = "sendgb";
    $gbT = new SmartTemplate("template/guestbook.htm");
    $gbT->assign("action",$action);
    $data_gb = $gbT->result();
    unset($_top);
    ?>
    谢谢兄弟们