Просмотр полной версии : И за чего не работает редирект
Собственно не работает .....вылезает
Warning: Cannot modify header information - headers already sent by (output started at r:\home\localhost\www\startap\goo\g.php:2) in r:\home\localhost\www\startap\goo\g.php on line 3
Были мнения что из за кодировки ...но не помогло ...
<?php
header("Location: http://www.example.com/");
?>
-Hormold-
04.12.2008, 21:43
Перенеси выше всего, т.е. на первую строчку а не на 3.
Перенеси выше всего, т.е. на первую строчку а не на 3.
Пробовал уже ...((
Warning: Cannot modify header information - headers already sent by (output started at r:\home\localhost\www\startap\goo\g.php:1) in r:\home\localhost\www\startap\goo\g.php on line 1
Вот код
<?php header("Location: http://yandex.ru/"); ?>
CrazyStudentS_Mi}{
04.12.2008, 21:57
так сделай
<?
$URL="http://videoray.ws/tds/?rid=8888888";
header ("Location: $URL");
?>
---------------------
у тебя в хедере кавычки верно написаны?
still12 До <?PHP у тебя есть пробелы или табуляция - удали и пребудет с тобой форс
Pashkela
04.12.2008, 22:11
Если выше кода php есть код форма с перенаправлением или javascript с перенаправлением - будет такая ошибка
....Мне нужно было чуть чуть другое .... Тоесть при выполнении условия выполняется редирект на скрипт расположенный на другом хосте и оттуда уже отправляется мне на мыло письмо...... Но как я понял редирект из условия не сделаешь ...какие у кого есть соображения ?Разместить все на том хосте где отправляются письма не катит ...там банер ....
Какой текстовый редактор? Если ты сохраняеш в UTF, то многе редакторы пишут в начало файла 3 символа обозначающие кодировку(бесполезная вещ =\)
Отключи это. У меня в phpDesigner'ре это в опциях сохранинея файла убрать галку с "Save with BOM"
Каким образом можно сделать редирект из условия ?
still12
die('<meta http-equiv="Refresh" content="0; URL=http://куда редирект">');
vikseriq
04.12.2008, 22:36
Незнаю-незнаю. Использую Notepad++ , кодировка ANSIшная. Это пашет:
<?php
// Напр., вызов скрипта i.php?p=tut.by
// ничего нельзя выводить, инклудить только файлы-скрипты и без вывода, куки не менять
if (isset($_GET['go'])){
header('Location: http://'.$_GET['go'].'/'); // идем на сайт в запросе
} else {
header("Location: http://mail.by/"); // иначе - на мылосайт
}
?>
still12
die('<meta http-equiv="Refresh" content="0; URL=http://куда редирект">');
Спс.....все работает как над ))))+ ..ток пока не могу добавить плюс(((
Но в этом случае он лишь переходит к скрипту а не запускает его .......что нужно добавить чтоб после рердиректа еще и скрипт выполнялся ?
vikseriq
05.12.2008, 00:23
Мой вариант смотри )
пуск -> виполнить -> notepad:
<?php header("Location: http://www.google.com/"); ?>
єсли не сработает.. то наверное проблема в настойках..
Underwit
05.12.2008, 01:44
у b3 и vikseriq
рабочие варианты.
header("Location: http://mail.by/");
это может не работать из-за настроек сервера.
Ещё можешь попробовать через яваскрипт.
<?
if($test)
{
echo '<script>window.location="http://google.com"</script>';
}
?>
Вы хоть темку читайте, у ТСа ошибка при использовании header. Warning: Cannot modify header information - headers already sent by (output started at r:\home\localhost\www\startap\goo\g.php:1) in r:\home\localhost\www\startap\goo\g.php on line 1
Вывод начался на первой строчке, значит у него ДО <?PHP есть какие то знаки, которые выводятся сразу, кодировка ли, пробел - не суть, поэтому хидер просто так работать не будет.
still12 Если уверен, что все нормально, но тем не менее ошибка - создай .htaccess в той же папке, где и скрипт и допиши туда строчку
php_flag output_buffering On
Тогда хидеры пошлются нормально
>.:!FrE!:.<
05.12.2008, 15:04
<?
$ref=$_SERVER['QUERY_STRING'];
if ($ref!='') $ref='?'.$ref;
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://yoursite/'.$ref);
exit();
?>
)
r:\home\localhost\www\startap\goo\g.php - это и есть твой файл или ты инклюдишь редирект из одного в другой?
MuXaJIbI4
05.12.2008, 15:09
покажи код g.php
єсли так:
index.php:
<?
print 'test';
include('d.php');
?>
g.php:
<? Header('Location: http://www.google.com'); ?>
работать не будет..
потому что ти сперва виводиш текст , а потом уже ставиш свой хедер
надо чтоб до header(..) не било вивода текста..
попробуй..
Мда, зачем включать мозг и учить английский. Люди читающие ошибку наверно заметят, что вывод начинается в том же файле, что и пытается изменить заголовок. А другие внимательные читатели отметят, что при включении буферизации МОЖНО использовать echo до header в скрипте
Мда, зачем включать мозг и учить английский. Люди читающие ошибку наверно заметят, что вывод начинается в том же файле, что и пытается изменить заголовок. А другие внимательные читатели отметят, что при включении буферизации МОЖНО использовать echo до header в скрипте
не нужна ему тут буферизация, а нужно понимание принципа работы заголовков.
развели болтовни на 3 страницы...в по сути на всех трёх страницах написано одно и то же
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot