如何检查smarty isset post

时间:2014-05-17 23:01:35

标签: php smarty

如何检查是否设置了帖子? isset($ _ POST ['表格名称'])

我似乎无法找到如何在smarty中做到这一点?

{if isset($_POST['login'])}
Login is set!
{/if}

1 个答案:

答案 0 :(得分:3)

在这种情况下,您不必为Smarty分配任何数据,因为请求变量在Smarty中很简单。所以你可以在你的tpl文件中简单地做到这一点:

{if isset($smarty.post.username)}
  Login is set!
{/if}

来自评论我明白你想做点什么。在模板文件中查看此代码:

{if isset($smarty.post.username)}
  Username is set!

{if $smarty.post.username eq ''}
  Empty username
{/if}  
{/if}



<form name="form" method="post"> 
<input type="text" class="form-control" style="width:500px;" name="username" placeholder="Username or Email"><br>
 <input type="password" class="form-control" style="width:500px;" name="password" placeholder="Password"><br> 
<input type="submit" class="btn btn-info" style="width:500px;" name="login" value="Sign In"> </form>

当您第一次打开网站(并且不发送表单)时,不显示任何消息,因为尚未设置表单并且没有发送$ _POST数据。但是当您发送表单(没有填写任何内容)时,您将收到消息“登录已设置”,因为已设置表单并且设置了$ _POST数据,尽管$ _POST ['login']的值为空字符串。

所以在内心,如果你检查它是否为空。

您也可以使用

{if isset($smarty.post.username) and ($smarty.post.username eq '')}
  Username is set but it's empty!
{/if}