Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: не срабатывает header("Location: ")
 
 автор: AlexSol   (11.02.2007 в 11:10)   письмо автору
 
 

два варианта:

header("Location: ".$_SERVER['PHP_SELF']);
header("Location: showFrame.php"); 


локально работают оба, а на сервере ни один из них...

   
 
 автор: Киналь   (11.02.2007 в 11:21)   письмо автору
 
   для: AlexSol   (11.02.2007 в 11:10)
 

Сервер в страницу баннеры встраивает?
Еще вариант - header почему-то запрещена. Посмотрите в phpinfo().

   
 
 автор: Фитч   (11.02.2007 в 11:21)   письмо автору
 
   для: AlexSol   (11.02.2007 в 11:10)
 

Какой на сервере пхп? (версия)
Функции вызываются до генерации содержимого страницы?

   
 
 автор: bronenos   (11.02.2007 в 11:25)   письмо автору
 
   для: AlexSol   (11.02.2007 в 11:10)
 

В крайнем случае попробуйте через meta теги или через js: window.location

   
 
 автор: AlexSol   (11.02.2007 в 12:09)   письмо автору
 
   для: bronenos   (11.02.2007 в 11:25)
 

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

PHP Version 5.2.0
а что посмотреть в phpinfo() ?

   
 
 автор: Киналь   (11.02.2007 в 12:16)   письмо автору
 
   для: AlexSol   (11.02.2007 в 12:09)
 

>а что посмотреть в phpinfo() ?

Список запрещенных функций.
Да, еще, а что значит "не работает"? Ошибку выдает? Какую?

   
 
 автор: Trianon   (11.02.2007 в 12:20)   письмо автору
 
   для: AlexSol   (11.02.2007 в 12:09)
 

значение поля Location в Вашем случае должно начинаться с http://имя_сайта/
У Вас же используется короткая форма, которая приводит к серверному редиректу вместо клиентского.

   
 
 автор: AlexSol   (11.02.2007 в 12:53)   письмо автору
 
   для: Trianon   (11.02.2007 в 12:20)
 

"не работает" значит не перекидывает на нужную мне страницу.

вот что есть:

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

работает.
а вот так выдает только echo() :

<?
if(!empty($_POST)){
....
$query ="UPDATE frame SET name='".$name_f."', visible='".$chek."', small='".$small."', big='".$big."' WHERE Id='".$id."'";
if (
mysql_query($query)){
echo (
'данные измененны');
header("Location: http://www. .... .php"); 
}
}
?>

   
 
 автор: Ralph   (11.02.2007 в 13:02)   письмо автору
 
   для: AlexSol   (11.02.2007 в 12:53)
 

Вообще-то,все header должны идти ДО echo и любого вывода в браузер.Наверное,вывод ошибок подавлен,вот оно ошибку не показывает,но и заголовок не отсылает

   
 
 автор: Whi-teOoS   (11.02.2007 в 13:03)   письмо автору
 
   для: AlexSol   (11.02.2007 в 12:53)
 

а вот так выдает только echo()

естественно, header работает если до него НИЧЕГО не выводилось в браузер.

   
 
 автор: AlexSol   (11.02.2007 в 13:18)   письмо автору
 
   для: Whi-teOoS   (11.02.2007 в 13:03)
 

спасибо!
в догонку: почему локально это работало? может что прописать забыл в настройках или это особенности работы под виндой?

   
 
 автор: Whi-teOoS   (11.02.2007 в 15:49)   письмо автору
 
   для: AlexSol   (11.02.2007 в 13:18)
 

>echo ('данные измененны');
>header("Location: http://www. .... .php");

на локале это не могло работать, так как это не может работать в принципе.

по первому посту тоже сложно сказеть что либо так как кода маловато

А вообще напишите в начале скрипта

error_reporting(E_ALL);

и зацитируйте сюда текст ошибки, а там уже виднее будет)

   
 
 автор: AlexSol   (11.02.2007 в 16:10)   письмо автору
 
   для: Whi-teOoS   (11.02.2007 в 15:49)
 

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

после того, как убрал все print() и echo() Location работает как надо, так что ошибки нет больше.

но на локалке работало, честно :)
вот щас попробовал - работает локально:


<?
echo('111');
header("Location: http://www.rambler.ru"); 
?>

   
 
 автор: Киналь   (11.02.2007 в 16:20)   письмо автору
 
   для: AlexSol   (11.02.2007 в 16:10)
 

Возможно, у вас локально в php.ini включена опция output_buffering, а у хостера - нет.

   
 
 автор: AlexSol   (11.02.2007 в 16:37)   письмо автору
 
   для: Киналь   (11.02.2007 в 16:20)
 

именно так. спасибо!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования