如何检查是否设置了帖子? isset($ _ POST ['表格名称'])
我似乎无法找到如何在smarty中做到这一点?
{if isset($_POST['login'])}
Login is set!
{/if}
答案 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}