2013-04-06 38 views
2

我正在尝试将Web联系表单添加到使用Smarty PHP模板的网站。如何整合PHP表单与Smarty?

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

.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},错误仍然存​​在。

调试显示的值为ini的文件已正确加载。

+0

您是否在自己的代码中写过“{/ foreach}”或“{\ foreach}”? – bwoebi 2013-04-06 15:06:33

+0

@bwoebi {/ foreach},对于错字感到抱歉。在OP中修复。 – mac389 2013-04-06 15:12:22

+0

$ value需要封装在{} – 2013-04-06 15:22:45

回答

1

从你的foreach中删除“as”,它应该可以工作。