0

我有一个按钮:

<form method="post">
<input name="submit" type="submit" class="icon2" value=" " />
</form>

并使用以下代码进行带有标头的重定向:

<?php
$homepage = '/2013/php/nelson-test.php';
$currentpage = $_SERVER['REQUEST_URI'];
if(isset($_POST['submit']) && $homepage==$currentpage)
{
header('Location:/2013/php/nelson.php');
}
?>

我昨天在另一个网站上使用了完全相同的代码,它可以工作(我只更改了链接),现在它给了我这个错误:

Warning: Cannot modify header information - headers already sent by (output started at /homez.121/pneuexpo/www/2013/php/nelson-test.**php:1**) in /homez.121/pneuexpo/www/2013/php/nelson-test.php on **line 6**

我不明白为什么在第一行我只有 php 开始标签,而在第 6 行只有标题。有任何想法吗?

(顺便说一句,按钮和标题的目的是,当您单击按钮时,它会重定向到同一页面,但使用英语(该页面当前为法语))

4

5 回答 5

2

消除 ';' 在这之后

if(isset($_POST['submit']) && $homepage==$currentpage)   //Remove ;
{
    header('Location:/2013/php/nelson.php');
    exit;
}
于 2013-06-05T12:42:28.660 回答
1

尝试这个:

echo("<script>location.href = '/2013/php/nelson.php';</script>");
于 2013-06-05T12:51:05.210 回答
0

是的,这是正确的删除;如果你把它从它; 然后它解释为一个语句,它会引发错误,并且在页眉之前不应该在页面上输出。

于 2013-06-05T12:45:13.460 回答
0

之后删除所有空格

仍然如果你不能删除错误而不是使用 javascript 重定向如下

echo '<script type="text/javascript">window.location="nelson.php"</script>';
于 2013-06-05T13:01:30.803 回答
0

因为我猜测您的条件是否有效,请添加exit

<?php
$homepage = '/2013/php/nelson-test.php';
$currentpage = $_SERVER['REQUEST_URI'];
if(isset($_POST['submit']) && $homepage==$currentpage);
{
header('Location:/2013/php/nelson.php');
exit;
}
?>
于 2013-06-05T12:46:38.223 回答