Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Обновление страницы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): [1] 2 3 »   

> Описание: Не работает обновление страницы
Евгений 777
Отправлено: 08 Июля, 2011 - 13:14:58
Post Id



Гость


Покинул форум
Сообщений всего: 81
Дата рег-ции: Июль 2010  
Откуда: Мурманск


Помог: 0 раз(а)




Ребята, привет всем. Если пишу не туда, извиняюсь. В общем проблемка у меня возникла. На сайте сделал форму, после её отправки (если все поля заполнены и запрос к базе успешный), то выводится сообщение и через 5 секунд страница перезагружается. Но что удивительно, в IE и Google Chrome она обновляется без проблем, то в Firefox 5.0.0 она обновляется тоже, но если нажать принудительно (уже после обновления страницы) кнопку "обновить" в браузере, то Firefox выдаёт окно "отправить заново". Что уже только не делал, не получается его убрать. Страница обновляется через польз. ф-ю
PHP:
скопировать код в буфер обмена
  1. function refresh($time, $url=NULL){
  2. if(empty($url)){$url="{$_SERVER['REQUEST_URI']}";}
  3. die("<meta http-equiv='refresh' content='".$time."; url=".$url."'>");

Вызываю её так: refresh(5, ''); Во всех браузерах работает, в Firefox вот такая вот проблема. Сможет кто помочь? Конечно можно использовать и JS, но ведь не у всех пользователей он включен и тогда может случиться...беда. Может эта версия Firefox такая глючная? Никто не сталкивался?

(Отредактировано автором: 08 Июля, 2011 - 13:15:31)



-----
Написать код не проблема. Написать правильный код- это наука.
 
 Top
LIME
Отправлено: 08 Июля, 2011 - 13:20:53
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Евгений 777 я так понимаю надо вместо рефреш использовать локэйшн
рефреш повторяет последний запрос со всеми даными гет и пост
 
 Top
Евгений 777
Отправлено: 08 Июля, 2011 - 16:47:41
Post Id



Гость


Покинул форум
Сообщений всего: 81
Дата рег-ции: Июль 2010  
Откуда: Мурманск


Помог: 0 раз(а)




LIME пишет:
Евгений 777 я так понимаю надо вместо рефреш использовать локэйшн
рефреш повторяет последний запрос со всеми даными гет и пост

А код локейшн не подкинете? Хотя я по моему его пробовал.


-----
Написать код не проблема. Написать правильный код- это наука.
 
 Top
EuGen Администратор
Отправлено: 08 Июля, 2011 - 16:51:40
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Используйте например, такую вещь:
PHP:
скопировать код в буфер обмена
  1. function refresh($url=NULL)
  2. {
  3.    if(empty($url))
  4.    {
  5.       $url=$_SERVER['REQUEST_URI'];
  6.    };
  7.    header("Location: ".$url);
  8.    exit();
  9. }


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
LIME
Отправлено: 08 Июля, 2011 - 17:03:59
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




как раз надо указать в url $_SERVER['HTTP_HOST'] или прописать жестко
потому что в $_SERVER['REQUEST_URI'] тоже гет вставлен
 
 Top
EuGen Администратор
Отправлено: 08 Июля, 2011 - 17:05:42
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Вопрос постановки задачи. Подозреваю, автору как раз нужны только параметры GET


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Евгений 777
Отправлено: 08 Июля, 2011 - 17:09:05
Post Id



Гость


Покинул форум
Сообщений всего: 81
Дата рег-ции: Июль 2010  
Откуда: Мурманск


Помог: 0 раз(а)




Спасибо за код, но он у меня не работает. Пишет что есть вывод. Сайт делаю по системе MVC впервые, видно где то что то не так сделал, раз вывод уже есть. Видно поэтому я и не стал раньше такой код делать а стал прикручивать рефреш. Других вариантов больше как я понимаю нет? И почему тогда остальные браузеры правильно воспринимают этот рефреш?
Отправляется POST запрос (форма), а страница должна просто обновиться.

(Отредактировано автором: 08 Июля, 2011 - 17:10:12)



-----
Написать код не проблема. Написать правильный код- это наука.
 
 Top
LIME
Отправлено: 08 Июля, 2011 - 17:11:33
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




EuGen а какой смысл ? ещераз на туже страницу с темиже параметрами?
вот потому браузеры и переспрашивают отправить теже параметры или как?
обьясните если я непонял
(Добавление)
Евгений 777 а Bom убрали?
впринципе локейшн можно также отправить мета полем как вы рефреш слали
 
 Top
EuGen Администратор
Отправлено: 08 Июля, 2011 - 17:13:22
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Значит постройте код так, чтобы после вывода не делать редирект.
Если цель сделать что-то с использованием MVC - почитайте Урок №19 на этом форуме - там детально все описано.

Тегом <meta> делать некорректно (так как он должен располагаться строго внутри <head>...</head>, чего при таком подходе гарантировать нельзя)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Евгений 777
Отправлено: 08 Июля, 2011 - 17:14:43
Post Id



Гость


Покинул форум
Сообщений всего: 81
Дата рег-ции: Июль 2010  
Откуда: Мурманск


Помог: 0 раз(а)




LIME пишет:
EuGen а какой смысл ? ещераз на туже страницу с темиже параметрами?
вот потому браузеры и переспрашивают отправить теже параметры или как?
обьясните если я непонял

Я делаю форму для добавления коммента к статье. Человек открывает статью, внизу которой комменты, а ещё ниже форма, чтобы он мог оставить свой коммент. Он её заполняет, отправляет, данные пишутся в базу и страница перезагружается и в комментах отображается уже и его коммент.


-----
Написать код не проблема. Написать правильный код- это наука.
 
 Top
LIME
Отправлено: 08 Июля, 2011 - 17:15:30
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




LIME но ""реальные пацаны " используют хидер я слышал ))
потому что если сервер оправит такойже зпголовок как вы в мета прописали браузер ваш проигнорирует а хидер меняет серверный заголовок на ваш(но не все можно переопределить)
(Добавление)
Евгений 777 пишет:
Я делаю форму для добавления коммента к статье. Человек открывает статью, внизу которой комменты, а ещё ниже форма, чтобы он мог оставить свой коммент. Он её заполняет, отправляет, данные пишутся в базу и страница перезагружается и в комментах отображается уже и его коммент.

тогда код EuGenна должен работать
уберите все выводы до заголовка и еще раз (вдруг вы не знаете) уберите BOM
 
 Top
Евгений 777
Отправлено: 08 Июля, 2011 - 17:21:19
Post Id



Гость


Покинул форум
Сообщений всего: 81
Дата рег-ции: Июль 2010  
Откуда: Мурманск


Помог: 0 раз(а)




Да покопался в коде, не должно быть никакого вывода до этого локэйшн. У меня шаблон (главный) грузится уже после отработки всех скриптов, в самом конце кода. А что за BOM, простите? Не понял


-----
Написать код не проблема. Написать правильный код- это наука.
 
 Top
EuGen Администратор
Отправлено: 08 Июля, 2011 - 17:22:05
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Евгений 777 пишет:
А что за BOM, простите?

http://forum.php.su/topic.php?fo...1&topic=3026


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Евгений 777
Отправлено: 08 Июля, 2011 - 17:28:15
Post Id



Гость


Покинул форум
Сообщений всего: 81
Дата рег-ции: Июль 2010  
Откуда: Мурманск


Помог: 0 раз(а)




Может я чего то не так понял, но у меня не utf-8, у меня windows-1251. Простите если что за глупые вопросы, просто действительно не пойму что это за символ BOM


-----
Написать код не проблема. Написать правильный код- это наука.
 
 Top
EuGen Администратор
Отправлено: 08 Июля, 2011 - 17:29:53
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Это не про Ваш случай, у однобайтовых кодировок вроде cp1251 этого нет.

В этом случае http://phpfaq[dot]ru/debug (скрипт должен Вам написать где именно стартовал вывод)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB