如何集成PHP表单与Smarty


How to Integrate a PHP form with Smarty?

我正在尝试添加一个web联系人表单到一个使用Smarty PHP模板的网站。

我最初的尝试(如下)产生一个空白的网页。

。tpl文件

{debug}
{extends file='toxtweet.tpl'}
{block name=body}
    <form action="" method="post">
    {foreach from=$formitems as key=name item=value}
        <label for={$name}>{$value}</label>
        <input type="text" name={$name} size="50"/>
    {/foreach}
    <input type="submit" value="E-mail" />
    </form>
{/block}

。php文件

<?php
   include 'base.php';
   include './scripts/recaptchalib.php';
   $formitems = parse_ini_file("formitems.ini");
   $smarty -> assign('formitems',$formitems);
   $smarty -> display("contact.tpl");
 ?>

base.phptoxtweet.tpl在所有其他页面工作良好,所以我不认为他们是问题。recaptchalib.php存在合适的路径。

如果去掉{foreach} ... {/foreach}行,则空白网页正常显示。如果我使用{foreach $x as $y}{foreach from=$x key=k value=v}格式,错误仍然存在。

调试显示包含formitems值的ini文件被正确加载。

从foreach中删除"as",它应该可以工作。