【发布时间】:2014-04-09 06:53:50
【问题描述】:
提交表单然后重定向后显示成功消息的最佳方式是什么。
我正在开发一个带有 smarty 模板引擎的脚本,我不想使用 javascript,因为我希望它尽可能简单地让用户设计他或她自己的模板,我已经尝试使用会话来显示例如,重定向后似乎未设置的消息
表格
<form action="" id="comment_form" method="POST">
<input type="hidden" name="movie_id" id="page_id" value="{$mov.mid}" />
<input type="hidden" name="user_id" id="user_id" value="{$logged_id}" />
<input class="span2" name="comment" type="text" />
<button class="btn" name="add_comment" type="submit">Add Comment</button>
</form>
PHP
if (isset($_POST['add_comment'])) {
if (!empty($_POST['comment'])) {
$user_id = $logged_id;
$post_comment = mysqli_real_escape_string($con, $_POST['comment']);
$movie->AddMovieComments($con, $movie_id, $user_id, $post_comment);
$_SESSION['insert'] = 'success';
header ('Location: '.$_SERVER['REQUEST_URI']);
} else {
$_SESSION['insert'] = 'empty';
}
}
现在尝试在 tpl 中显示成功
{if isset($smarty.session.insert)}
<div class="alert alert-success">
<button type="button" class="close" data-dismiss="alert">×</button>
<h4>Success</h4>
Your Comment was successfully added
</div>
{/if}
{php}unset($_SESSION['insert']);{/php}
所以任何人都可以帮助我并告诉我执行此操作的最佳方法或告诉我为什么它在显示之前未设置。
【问题讨论】: