我正在创建一个php文件,在某个条件不成立之后,我必须使用标题函数添加 PHP页面重定向。
问题是在重定向之前我有使用echo 输出一些消息,因为这个头功能不起作用并抛出警告: -
警告:无法修改标头信息 - 已经在C:\ xampp \ htdocs ... \ search.php上发送的标头(在C:\ xampp \ htdocs ... \ search.php:229处开始输出) 291
请帮助我,如果还有其他选择,请告诉我们
javscript方法window.location = url;
答案 0 :(得分:2)
抱歉,在PHP中没有。在开始发送响应主体后,您根本无法修改标题。
有3个选项
如果您使用现代框架,则大多数情况下您没有这个问题。 Symphony,Laravel,Slim等框架正在帮助您将业务(控制器)逻辑与显示(视图)逻辑分开。
对于初学者,我会推荐Slim框架https://www.slimframework.com。 它记录良好且非常轻便。
答案 1 :(得分:0)
你可以这样做:
使用刷新和网址,这将等待五秒钟重定向您:
header("refresh:5;url=https://www.google.com.br/");
echo "Redirecting you to Google in 5 seconds.";
或者您可以使用javascript:
echo '<script language="JavaScript"> alert("Redirecting you to Google BR!");window.location="https://www.google.com.br/";</script><noscript>Click here: <a href="https://www.google.com.br/">aqui</a>.</noscript>';