Заголовок PHP не перенаправляет - PullRequest
1 голос
/ 16 июня 2011

Я пытался переслать 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: 5) в /Applications/XAMPP/xamppfiles/htdocs/x/client_authorized.php в строке 17

Где я иду не так?

Ответы [ 3 ]

4 голосов
/ 16 июня 2011

Вы не можете отправлять заголовки после того, как вывод уже запущен (заголовки должны быть первыми, кто будет за дверью).

Убедитесь, что у вас ничего нет (включая пробелы - как новые строки,вкладки и пробел) до вашего открытия <?php.

2 голосов
/ 16 июня 2011

Вы также должны вызывать exit () или die () после вызова функции заголовка.

см. Примеры перенаправления здесь http://us2.php.net/manual/en/function.header.php

1 голос
/ 16 июня 2011

Вы можете попробовать с буферизацией вывода на

$ <?php
$ ob_start();
$ --------
$ --------
$ ob_end_flush();
$ ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...