我有一些表单,目前正在使用如下所述的实现:
<form action="/formpost.php" method="post" name="form1" id="form1">
<input type="hidden" name="to" id="to" value="__COMMENT1" />
<!-- rest of form -->
</form>
__COMMENT1
是指我希望用户在表单发布后被重定向的页面。
几乎发生的事情是,表单被张贴到formpost.php
, $_POST
数组被转换为$_SESSION['POST']
, $_POST
被取消设置,然后用户被重定向到隐藏输入字段([id = to
]总是相同的id/名称的值中引用的位置。)然后,我可以继续使用用户的表单提交值(从$_SESSION
数组引用),而不管它们是否"返回",刷新等。
这有什么问题吗?
使用POST/REDIRECT/GET模式有什么好处吗?
你的方法没有问题,它比PRG更方便。但是,我认为保留POST变量没有任何意义,除非发生错误。当然,不设置$_POST也没有意义。
嗯,经过一番解释后,我觉得你们的设置是完全错误的。
对所有表单进行单一操作以及不必要的重定向是没有意义的。
使表单操作成为验证表单的实际脚本。
- 成功后,重定向到你想要的地方。
- 错误:
- 保存POST数据和错误信息到会话并重定向到相同的URL
- 填充表单并取消设置POST数据和错误
- 显示