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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: <meta http-equiv='refresh' content='4; url=index.php'>
VadiKO
Отправлено: 29 Апреля, 2016 - 22:06:12
Post Id


Новичок


Покинул форум
Сообщений всего: 39
Дата рег-ции: Март 2016  


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




Всем привет!

Какая то непонятная штука, банально простой код авторизации, и если авторизация прошла успешно, то выводим сообщение и через 4 секунды редирект, ставлю редирект:

CODE (html):
скопировать код в буфер обмена
  1. <meta http-equiv='refresh' content='4;  url=index.php'>


все отлично работает, но если на странице после редиректа нажать F5 то выскакивает окошка и спрашивает отправить форму снова или нет??? Беда...

Заменил редирект скрптом:

CODE (javascript):
скопировать код в буфер обмена
  1. <script language='Javascript'>
  2. function reload() {location = \"\"}; setTimeout('reload()', 4000);
  3. </script>


таким образом тоже все работает как надо и при нажатие F5 страничка просто обновляется как надо.

В чем может быть трабла с meta http-equiv='refresh'??? Не понял
 
 Top
Строитель Модератор
Отправлено: 29 Апреля, 2016 - 22:10:50
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


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




VadiKO пишет:
В чем может быть трабла с meta http-equiv='refresh'???
Именно в refresh. Для сброса данных, переданных методом POST, используйте заголовок Location.
 
 Top
VadiKO
Отправлено: 29 Апреля, 2016 - 22:31:00
Post Id


Новичок


Покинул форум
Сообщений всего: 39
Дата рег-ции: Март 2016  


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




Хм, в принципе понятно, спасибо. Улыбка

Но возникает второй вопрос, как его реализовывают что бы работало?
Видел сайт (не могу сейчас найти), где в коде (с выводом сообщения) показывает именно:

CODE (html):
скопировать код в буфер обмена
  1. <meta http-equiv='refresh' content='4;  url=index.php'>


и после редиректа страница обновляется без проблем.

Скажет простой код файл index.php:


PHP:
скопировать код в буфер обмена
  1.         if(!isset($_SESSION['login']))
  2.         {
  3.  
  4.                 if(!isset($_POST['enter']))
  5.                 {
  6.  
  7.                    форма атворизации...
  8.  
  9.                 }
  10.  
  11.                 else {
  12.  
  13.                         //что то там...
  14.  
  15.                        echo '
  16.                               <meta http-equiv='refresh' content='4; url=index.php' />
  17.                                 </head>
  18.                                 <body>
  19.                                <p>&bull; Авторизация прошла успешно!</p>
  20.                                </body>
  21.                                 </html>';
  22.                        
  23.                         }
  24.  
  25.          }
  26.  
  27.          else {
  28.  
  29.                 echo 'Привет, $login';
  30.  
  31.                 }
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB