例如,我有一个表单。根据表单的答案,我想在提交后将它们带到我网站上的其他页面。这里假设表单的动作属性被提交,这是我想要做的.php:在PHP中动态导航到页面的最佳方式是什么?
在submitted.php中,根据表单的回答完成脚本需要做的事情,然后指示它们通过在PHP中设置标题。
我在问这个问题,因为我听到很多人说你不应该使用标题反弹人们。
那么什么方式是最好的,如果不是我的解决方案,什么是反对使用标题('location:');?
感谢
例如,我有一个表单。根据表单的答案,我想在提交后将它们带到我网站上的其他页面。这里假设表单的动作属性被提交,这是我想要做的.php:在PHP中动态导航到页面的最佳方式是什么?
在submitted.php中,根据表单的回答完成脚本需要做的事情,然后指示它们通过在PHP中设置标题。
我在问这个问题,因为我听到很多人说你不应该使用标题反弹人们。
那么什么方式是最好的,如果不是我的解决方案,什么是反对使用标题('location:');?
感谢
发送位置标题正是你应该做的。没有什么错在执行以下操作:
header('Location: http://www.site.com/?answer=' . rawurlencode($_POST['answer']));
除了输入验证,但是,是受另外一个讨论的。
如果你'rawurlencode()'参数你不必关心输入验证。 –
如果您只想允许重定向到指定数量的url,该怎么办? – alexn
如果其中一个允许的值包含“&”或其他在URL中具有特殊含义的字符,该怎么办? –
我不知道对在PHP中使用header()
-redirects任何参数。只要确保你不会夸大并重定向到重定向到另一个重定向...
感谢您的清除。 好吧,所以现在已经解决了,我的$ _POST变量会与它一起出现,还是必须将它们放入会话变量或类似的东西? – Bender
同样的事情在这里,使用if(isset($ _ POST ['...']))在访问它之前检查一个变量是否存在。 – alexn