0

我是 Smarty 与 PHP 相结合的新手,我真的很喜欢它。不幸的是,在 $_POST 完成后验证字段时遇到了问题。

我创建了一个名为 $errors 的数组,并使用它来保存错误消息,例如:$errors[] .= "Wrong email";。我的问题是将 $errors 数组发送到模板,以便我可以使用它来显示错误消息。

我的问题:如何将 $errors 变量“转移”到模板文件中,以便可以在其中使用它,例如 {foreach}。我打算做类似的事情

{if $hasErrors} 
    {foreach from=errors item=error}
          <li>{$error}</li>
    {/foreach}
{/if}

提前致谢

4

1 回答 1

1

您可以像分配任何其他变量一样将数组分配给您的模板。

$smarty->assign('errors', $errors);

此外,在最初构建数组时,删除连接运算符并使用:

$errors[] = 'Wrong email';

最后,请务必在尝试向其添加元素或分配它之前初始化您的数组。

$errors = array()

编辑:既然您已经包含了附加信息,我认为问题与您的 Smarty 标签语法有关。试试这一行,将 a 添加$到您的变量中:

{foreach from=$errors item=error}
于 2012-10-11T21:36:33.113 回答