IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   PHP проблемы с редиректом, как? (https://www.imho.ws/showthread.php?t=84533)

UnOuter 26.04.2005 10:58

PHP проблемы с редиректом, как?
 
Проблема вот в чем.


Есть документ назовем его site.php
куда инклудится файл с формой form.php

Через форму посылаем данные на файл mail.php где находится сам скрипт отправки данных адресату. Нужно после успешной отправки редирекнутся на файл good.php приенклуденный в єтот же site.php вместо form.php.

если делать грубо говоря следующее в файле mail.php

header("Location: site.php?part=goodsend.php") получаем:

Warning: Cannot modify header information - headers already sent by (output started at ....mail.php:86) in ...mail.php on line 88


Посоветуйте альтернативы или решения......

EvroStandart 26.04.2005 11:19

до редиректа нельзя ничего выводить. Если я сам что-то выведу или ошибка пропишется, тогда выскакивает эта ошибка.

Неправильно:
<?
echo 'тут клёвый редирект';
header("Location: site.php?part=goodsend.php");
?>

Правильно:
<?
header("Location: site.php?part=goodsend.php");
echo 'тут клёвый редирект, но эту надпись уже никто не увидит';
?>

Другой вариант: использовать HTML тег <META>

UnOuter 26.04.2005 11:37

Ааа все понял..
Респект! :beer:

hempsmoke 26.04.2005 17:20

UnOuter
Код:

<?
ob_start();
echo 'тут клёвый редирект, все будет работать, и поэтому это сообщение никто не увидит- не успеет :)';
header("Location: site.php?part=goodsend.php");
ob_end_flush();
?>


Sensey 27.04.2005 02:38

hempsmoke - это называется извращением

is_absent 27.04.2005 06:11

это называется защита от собственной глупости. весьма правильный подход

Sam Dark 27.04.2005 10:53

Не php, но зато можно воткнуть после print.

Код:

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://imho.ws/showthread.php?t=84533">

hempsmoke 27.04.2005 13:56

Sensey
лень было черкнуть "как правильно"?

Sensey 28.04.2005 01:45

hempsmoke
Правильным является то что написал EvroStandart... я уже не стал повторяться...


Часовой пояс GMT +4, время: 16:03.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.