php跳转页面代码
在PHP中,你可以使用header
函数来实现页面跳转。
php<?php
// 重定向浏览器
header("Location: http://www.example.com/new_page.php");
// 确保重定向后,后续代码不会被执行
exit;
?>
在这个例子中,header("Location: http://www.example.com/new_page.php");
将浏览器重定向到指定的URL,然后 exit;
确保在重定向后不再执行后续的PHP代码。
header
函数必须在向浏览器发送任何实际输出之前调用,否则可能会导致错误。如果在调用header
之前有输出,PHP会发出一个警告,并且重定向可能不起作用。
如果你的页面已经输出了内容,你可以考虑使用JavaScript进行客户端重定向:
php<?php
echo "<script>window.location.href='http://www.example.com/new_page.php';</script>";
?>
这种方式不依赖于服务器端的header,但要注意,这只适用于启用了JavaScript的浏览器。
当使用header
函数进行页面跳转时,还需要注意
确保没有输出: header
函数必须在任何实际输出之前调用。如果在调用header
之前有输出,PHP会发出一个警告,并且重定向可能会失败。
使用绝对URL: 在header("Location: ...");
中,最好使用绝对URL而不是相对URL,以确保在各种情况下都能正常工作。
调用exit
: 在调用header
后,建议使用 exit
或 die
来确保在重定向之后不再执行脚本的其余部分。
开启缓冲区: 如果你在输出之前调用了header
函数并且遇到了输出之前不能调用header
的问题,你可以尝试使用输出缓冲区。通过 ob_start
函数启动缓冲区,可以推迟脚本的实际输出。
php<?php
// 开启输出缓冲区
ob_start();
// 进行重定向
header("Location: http://www.example.com/new_page.php");
// 关闭输出缓冲区并输出内容
ob_end_flush();
// 确保在重定向后不再执行后续代码
exit;
?>
上述代码中的 ob_end_flush()
会将输出缓冲区中的内容输出到浏览器。在这种情况下,exit
语句确保在重定向后不再执行后续代码。