4

只是一个快速的问题。

我有一个表单可以捕获一些数据,对其进行验证,然后发布到同一站点上的另一个页面。如果没有错误,我正在使用 header() 重定向,但显然数据没有在帖子中发送。

使用会话在两个页面之间保留数据是否正确?

多谢你们。

4

5 回答 5

3

如果只需要第二页的数据,如果数据不敏感,不妨在header()中传递数据。

$url = "www.example.com?variable=value&id=something";
I.e. header('Location: $url');
于 2013-04-05T12:03:11.490 回答
0

如果您担心,这些类型的“flash message”很好,并且是防止用户重新加载页面和重新提交表单的好方法。我会提醒您在显示消息后取消设置会话变量。

于 2013-04-05T12:00:53.570 回答
0

是的,这是正确的做法。

但是,根据情况,还有其他替代方案,例如隐藏变量、iframe 等。如果您能解释整个情况,根据数据的性质,我可以为您提供更准确的答案。

于 2013-04-05T12:01:46.560 回答
0

您可以将数据存储在服务器端 (Session) 或客户端 (Cookie)。您选择哪种方式取决于数据类型和安全问题。

您也可以通过 PHP 直接在新表单中插入发布的数据而不保存它 - 但如果您通过标头重定向,这将不起作用

于 2013-04-05T12:02:09.287 回答
0

是的,您可以这样做,但为了更安全,请在 db 中添加额外的 DUMMY 字段或其他内容。这样,如果您需要丢弃,您可以丢弃虚拟记录。但是您需要有时间戳,这样您就不会删除那些最近添加并正在处理的记录。

您还可以创建 cron 作业来清空表

于 2013-04-05T12:02:11.507 回答