或者改为这样$tpl->assign("array1",array(1 => "苹果", 2 => "菠萝", 3 => "香蕉", 4 => "芭乐"));也不行,出现同样的错误

解决方案 »

  1.   

    我查了下手册
    Example 13-3. assign
    例子 13-3. 赋值// passing name/value pairs 名称/数值 方式$smarty->assign("Name","Fred");$smarty->assign("Address",$address);
    // passing an associative array 联合数组方式$smarty->assign(array("city" => "Lincoln","state" => "Nebraska"));与我的例子都不一样,郁闷!!
     
     
      

  2.   

    看你的错误,你在用assign函数之前有include("Smart.class.php")呢么?
      

  3.   

    $smarty这个变量有吗?
    是不是一个Smarty的实例?注意检查下大小写吧
      

  4.   

    $tpl   这个变量的问题吧,你看看你设置的是$smarty还是这个!
      

  5.   

    检查一下是否包含Smarty.class.php 这个文件
    是否在使用$tpl之前对smarty进行了实例化
    另外再检查一下templates_c的目录权限,如果都没问题就尝试重新下载一份smarty的文件试一下
      

  6.   

    1 main.php:    
    2 <?php   
    3     include "class/Smarty.class.php";   
    4     define('__SITE_ROOT', 'd:/appserv/web/demo'); // 最後?#93;有斜線   
    5     $tpl = new Smarty();   
    6     $tpl->template_dir = __SITE_ROOT . "/templates/";   
    7     $tpl->compile_dir = __SITE_ROOT . "/templates_c/";   
    8     $tpl->config_dir = __SITE_ROOT . "/configs/";   
    9     $tpl->cache_dir = __SITE_ROOT . "/cache/";   
    10     $tpl->left_delimiter = '<{';   
    11     $tpl->right_delimiter = '}>';   
    12 ?>   
    1 <?php   
    2     require "main.php";   
    3     $tpl->assign("title", "測試用的網頁標題");   
    4     $tpl->assign("content", "測試用的網頁內容");   
    5     // 上面兩行也可以用這行代替   
    6     // $tpl->assign(array("title" => "測試用的網頁標題", "content" => "測試用的網頁內容"));   
    7     $tpl->display('test.htm');   
    8 ?>  
    教程里面的~我这两天也在看……
    Lz犯的是一般的错误…………与Smarty无关…… 我是极限里回答你问题的MoXie