PHP标头不重定向

时间:2011-06-16 04:30:21

标签: php csv warnings xampp

在检查两个初始条件后,我一直试图转发网址。这是一段简单的代码。我想要实现的是检查将从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行

我哪里错了?

3 个答案:

答案 0 :(得分:4)

在输出已经开始之后你不能发送标题(标题必须是出门的第一件事。)

确保在开幕<?php之前没有任何内容(包括空格 - 如新行,标签和空格)。

答案 1 :(得分:2)

你应该在头函数调用之后调用exit()或die()。

请参阅此处的重定向示例http://us2.php.net/manual/en/function.header.php

答案 2 :(得分:1)

您可以尝试使用输出缓冲

$ <?php
$ ob_start();
$ --------
$ --------
$ ob_end_flush();
$ ?>