Smarty从url获取变量是不正确的? (PRG)

时间:2014-12-03 14:12:58

标签: javascript php smarty

我正在尝试重定向用户,他将自己的信息填充到同一页面,其中变量在url success = 1中,但似乎变量为空或不正确。当URL为:http://example.com/contact.html?success=1时,将显示表单而不是消息。你能帮我吗 ?非常感谢你。

PHP:

function formSend(){
if($_POST['submit'] && $ok == 1)
  $out1 = "thank you very much";
  $_SESSION['thank_you'] = $out1;
  header("Location: $_SERVER[REQUEST_URI]?success=1");
  exit;
}else{
  showForm();
}

SMARTY:

{if $smarty.get.success == 1}
  {$smarty.session.thank_you} 
{else}
   {$showForm} {* Show form when address is http://example.com/contact.html?success=1 *}
{/if}

1 个答案:

答案 0 :(得分:1)

Smarty是模板引擎。但是您尝试插入应用程序的模板逻辑。这是非常糟糕的方式。

您应该检查GET它是您的脚本,只需为Smarty设置变量。

您的模板代码可以是:

{if $success == 1}
  Thank you very much
{else}
  {* There code of form *}
{/if}