【发布时间】:2011-06-16 04:30:21
【问题描述】:
在检查了两个初始条件后,我一直在尝试转发 url。这是一段简单的代码。我想要实现的是检查将从 CSV 文件加载的两个初始条件,然后如果满足条件,我想将用户转发到不同的页面。
这是我的 CSV 文件内容
katz,26.06.2011,http://www.google.com
<?php
error_reporting(E_ALL|E_STRICT);
ini_set("display_errors", "On");
$name_value=$_GET['query'];
$fh = fopen('db.csv', 'r');
$now = date("d.m.Y");
$data=fgetcsv($fh);
$name=$data[0];
$date=$data[1];
$url=$data[2];
if($name_value == $name AND $date>=$now)
{
header("Location: $url");
}
else
{
echo("not successful<br>");
}
echo "name1 is $name_value<br>";
echo "name2 is $name<br>";
echo "date is $date<br>";
echo "now is $now<br>";
exit;
?>
我收到此警告
警告:无法修改标头信息 - 标头已由 /Applications/XAMPP/xamppfiles/htdocs/x/client_authorized.php 中的(从 /Applications/XAMPP/xamppfiles/htdocs/x/client_authorized.php:5 开始的输出)发送第 17 行
我哪里错了?
【问题讨论】:
-
确保在调用 header() 之前不显示任何输出。在第 5 行的 client_authorized.php 中某处,已经开始输出。
-
@Rakesh 我没有在标题之前调用任何其他输出......以及在 exit() 之前的 echo 语句;仅用于测试目的
-
即使是空格,换行也会影响这一点。
-
output started at /Applications/XAMPP/xamppfiles/htdocs/x/client_authorized.php:5行会告诉您输出发生的确切位置。检查文件中的该行是否有任何空格或其他字符。 -
尝试查看生成页面的源代码,看看是否能在错误信息前检测到空格或换行符