有没有人知道为什么下面的页面没有重定向?
我要重定向的php文件是:
<?php require_once("../includes/db_connection.php"); ?>
<?php require_once("../includes/functions.php"); ?>
<?php
if (isset($_POST['submit'])) {
} else {
redirect_to("new_subject.php");
}
?>
函数文件是:
<?php
function redirect_url($new_location)
{
header("location:".$new_location);
exit;
}
?>
我已经删除了db_connection.php文件以查看是否有任何区别,但事实并非如此。
答案 0 :(得分:3)
除了您调用的函数和函数名称不同(“redirect_to”与“redirect_url”)之外,在进行标题调用之前还有空格。需求和下一个PHP块之间的空格是空格,并且在将空白空间发送到浏览器后将禁止设置标题。
我强烈建议您在调查问题时启用PHP中的错误日志记录并引用错误日志。您会在日志中看到函数调用错误和标题错误。
此外,不必要地打开和关闭PHP标签通常是很差的编码形式。你可以清理它看起来像这样:
<?php
require_once("../includes/db_connection.php");
require_once("../includes/functions.php");
if (!isset($_POST['submit'])) {
redirect_url("new_subject.php");
}
?>
请注意,您可以在需求和代码之间保持分离以帮助提高可读性,但由于您永远不会退出PHP块,因此您没有空白区域问题。
答案 1 :(得分:1)
功能名称为redirect_url()
所以代码应该是
else {
redirect_url("new_subject.php");
}
答案 2 :(得分:0)
你的函数调用应该是
redirect_url("new_subject.php");
而不是
redirect_to("new_subject.php");
答案 3 :(得分:0)
你可以试试这个,
<?php
if (isset($_POST['submit'])) {
//some thing do here
} else {
redirect_url("new_subject.php");
}
function redirect_url($new_location)
{
header("location:".$new_location);
exit;
}
?>