PHP消息重定向


PHP Redirection with Message

我有一个显示和处理表单回发的控制器。一旦表单被成功验证并且数据被相应地处理,控制器将重定向到另一个页面。

重定向完成后相当于:

@header('Status: 303 See other');
@header('Location: ' . $redirect_uri);

控制器提供要在新页面上显示的消息的最可靠的方法是什么?这有什么标准做法吗?

。"您的帐户已成功更新。"

我的想法是将动态生成的消息放入会话变量中,并在URI本身中指示具有唯一ID的预定义消息:

$_SESSION['previous-response-msg'] = "Account of '$user_name' was updated.";
or
$redirect_uri = 'http://example.com/other-page?msg=42';

第二种方法是调整非安全页面内容的好方法。你可以…

if (isset($_GET['msg']) && $_GET['msg'] == '42') {
    echo '<div>Your account was successfully updated</div>';
}

我觉得很简单。

会话变量中的一次性消息对我来说工作得很好。我认为这里没有太大的问题,特别是对于状态类型消息。

如果你正在使用一个框架,它很可能是内置的。

使用session将允许更灵活的消息,但任何一种方式都可以工作。

您是否可以不使用ajax,然后添加一个成功和失败回调,显示来自您发送数据的文件的响应数据?