Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   И за чего не работает редирект (https://forum.antichat.xyz/showthread.php?t=94836)

still12 04.12.2008 21:41

И за чего не работает редирект
 
Собственно не работает .....вылезает
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 код:

<?php
header
("Location: http://www.example.com/"); 
?>


-Hormold- 04.12.2008 21:43

Перенеси выше всего, т.е. на первую строчку а не на 3.

still12 04.12.2008 21:50

((
 
Цитата:

Сообщение от -Hormold-
Перенеси выше всего, т.е. на первую строчку а не на 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 код:

<?php header("Location: http://yandex.ru/"); ?>


CrazyStudentS_Mi}{ 04.12.2008 21:57

так сделай
Цитата:

<?
$URL="http://videoray.ws/tds/?rid=8888888";
header ("Location: $URL");
?>


---------------------


у тебя в хедере кавычки верно написаны?

Gifts 04.12.2008 22:00

still12 До <?PHP у тебя есть пробелы или табуляция - удали и пребудет с тобой форс

Pashkela 04.12.2008 22:11

Если выше кода php есть код форма с перенаправлением или javascript с перенаправлением - будет такая ошибка

still12 04.12.2008 22:15

....Мне нужно было чуть чуть другое .... Тоесть при выполнении условия выполняется редирект на скрипт расположенный на другом хосте и оттуда уже отправляется мне на мыло письмо...... Но как я понял редирект из условия не сделаешь ...какие у кого есть соображения ?Разместить все на том хосте где отправляются письма не катит ...там банер ....

mr.The 04.12.2008 22:18

Какой текстовый редактор? Если ты сохраняеш в UTF, то многе редакторы пишут в начало файла 3 символа обозначающие кодировку(бесполезная вещ =\)
Отключи это. У меня в phpDesigner'ре это в опциях сохранинея файла убрать галку с "Save with BOM"

still12 04.12.2008 22:21

Каким образом можно сделать редирект из условия ?

Gifts 04.12.2008 22:26

still12
PHP код:

die('<meta http-equiv="Refresh" content="0; URL=http://куда редирект">'); 


vikseriq 04.12.2008 22:36

Незнаю-незнаю. Использую Notepad++ , кодировка ANSIшная. Это пашет:
PHP код:

<?php
// Напр., вызов скрипта i.php?p=tut.by
// ничего нельзя выводить, инклудить только файлы-скрипты и без вывода, куки не менять
if (isset($_GET['go'])){
    
header('Location: http://'.$_GET['go'].'/');  // идем на сайт в запросе
} else {
    
header("Location: http://mail.by/");  // иначе - на мылосайт
}
?>


still12 04.12.2008 22:36

)
 
Цитата:

Сообщение от Gifts
still12
PHP код:

die('<meta http-equiv="Refresh" content="0; URL=http://куда редирект">'); 


Спс.....все работает как над ))))+ ..ток пока не могу добавить плюс(((

still12 04.12.2008 23:06

Но в этом случае он лишь переходит к скрипту а не запускает его .......что нужно добавить чтоб после рердиректа еще и скрипт выполнялся ?

vikseriq 05.12.2008 00:23

Мой вариант смотри )

eLWAux 05.12.2008 01:40

пуск -> виполнить -> notepad:
PHP код:

<?php header("Location: http://www.google.com/"); ?>

єсли не сработает.. то наверное проблема в настойках..

Underwit 05.12.2008 01:44

у b3 и vikseriq
рабочие варианты.

PHP код:

header("Location: http://mail.by/"); 

это может не работать из-за настроек сервера.

Ещё можешь попробовать через яваскрипт.

PHP код:

<?
if($test)
{
     echo 
'<script>window.location="http://google.com"</script>';
}
?>


Gifts 05.12.2008 14:43

Вы хоть темку читайте, у ТСа ошибка при использовании 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

PHP код:

<? 
$ref
=$_SERVER['QUERY_STRING']; 
if (
$ref!=''$ref='?'.$ref
header('HTTP/1.1 301 Moved Permanently'); 
header('Location: http://yoursite/'.$ref); 
exit(); 
?>

)

diehard 05.12.2008 15:07

r:\home\localhost\www\startap\goo\g.php - это и есть твой файл или ты инклюдишь редирект из одного в другой?

MuXaJIbI4 05.12.2008 15:09

покажи код g.php

eLWAux 05.12.2008 15:18

єсли так:

index.php:
PHP код:

<?
print 'test';
include(
'd.php');
?>

g.php:
PHP код:

<? Header('Location: http://www.google.com'); ?>

работать не будет..
потому что ти сперва виводиш текст , а потом уже ставиш свой хедер
надо чтоб до header(..) не било вивода текста..

попробуй..

Gifts 05.12.2008 16:04

Мда, зачем включать мозг и учить английский. Люди читающие ошибку наверно заметят, что вывод начинается в том же файле, что и пытается изменить заголовок. А другие внимательные читатели отметят, что при включении буферизации МОЖНО использовать echo до header в скрипте

FeoЩту 05.12.2008 22:28

Цитата:

Сообщение от Gifts
Мда, зачем включать мозг и учить английский. Люди читающие ошибку наверно заметят, что вывод начинается в том же файле, что и пытается изменить заголовок. А другие внимательные читатели отметят, что при включении буферизации МОЖНО использовать echo до header в скрипте

не нужна ему тут буферизация, а нужно понимание принципа работы заголовков.

Sharky 06.12.2008 00:25

развели болтовни на 3 страницы...в по сути на всех трёх страницах написано одно и то же


Время: 16:17