【发布时间】:2011-03-30 11:25:54
【问题描述】:
我想在添加评论后显示感谢信息,仅用于第一个页面加载...评论表单使用外部 php 文件处理,然后重定向回页面。我只想在重定向后显示一些消息...使用 php 执行此操作的最佳方法是什么?
【问题讨论】:
标签: php
我想在添加评论后显示感谢信息,仅用于第一个页面加载...评论表单使用外部 php 文件处理,然后重定向回页面。我只想在重定向后显示一些消息...使用 php 执行此操作的最佳方法是什么?
【问题讨论】:
标签: php
您可能想要应用 PRG 模式。 基本上,您发布评论,服务器回复客户端以执行重定向到您的页面,并在查询字符串中提供附加信息,正如 Vadim 所说。
“优雅”、无会话且实用。
【讨论】:
假设您有权访问处理该文件的外部 php 文件,您可以对处理文件执行类似于以下操作:
$_SESSION['flashMessage'] = 'Thank you for posting.';
header("Location: your-page.php');
然后将以下内容添加到重定向页面:
if ($_SESSION['flashMessage']) {
echo $_SESSION['flashMessage'];
$_SESSION['flashMessage'] = NULL;
}
【讨论】:
在处理评论的页面上:
if($success)
{
$_SESSION['userMsg'] = "<p>Your comment has been added. Thank you.</p>";
}
在任何/所有页面中(但主要是您要重定向到的页面):
if($_SESSION['userMsg'] != '')
{
print $_SESSION['userMsg'];
unset($_SESSION['userMsg'];
}
这是假设您正在使用 Sessions,因此之前调用了 session_start() 函数
【讨论】:
当您通过 $_GET 数组重定向发送时,变量如下所示:
header("LOCATION: index.php?msg=1" );
在索引上检查 $_GET['msg']==1 然后显示您的消息
【讨论】:
将消息保存到会话中。显示它,然后取消设置会话变量。
【讨论】: