问题
希望将用户自动重定向到一个新的URL。例如,成功保存表单数据后,希望将用户重定向到一个确认页面,确认数据已经保存。
解决方案
输出后,使用header()发送一个Location首部并指定新URL,然后调用exit(),以避免再输出其他内容:
header('Location: http://www.example.com/confrm.html');
exit();
要向新页面传递变量,可以将这些变量包含在URL的查询字符串中。
重定向并提供查询字符串变量
header('Location: http://www.example.com/?monkey=turtle');
exit();
重定向URL必须包含协议和主机名,而不能只是一个路径名。
// 正确的重定向
header('Location: http://www.example.com/catalog/food/pemmican.php');
// 不正确的重定向
header('Location: /catalog/food/pemmican.php');
重定向URL要用GET获取。不能通过P0ST来获取一个URL。不过,利用JavaScript,可以通过P0ST模拟重定向,生成一个(通过POST)自动提交的表单。浏览器(支持JavaScript的)接收到页面时,它会通过P0ST自动提交其中包含的表单。
通过post提交的表单实现重定向