За последние 24 часа нас посетили 18846 программистов и 1630 роботов. Сейчас ищут 947 программистов ...

Не меняется $_POST при Refresh

Тема в разделе "PHP для новичков", создана пользователем kuzya_vl, 20 июл 2011.

  1. kuzya_vl

    kuzya_vl Активный пользователь

    С нами с:
    22 июн 2011
    Сообщения:
    10
    Симпатии:
    0
    У меня есть две странички: одна отображает данные, другая форма вводаю.
    VIEW.PHP
    PHP:
    1. if (isset($POST["hide"]) && ($_POST["hide"] == 1))
    2. {
    3.      // запись даных
    4.      unset($_POST["hide"]);   // чтобы еще раз не записывать
    5. }
    6. <body>
    7. Вывод данных
    8. </body>
    9.  
    INPUT.HTML
    HTML:
    1.  
    2. <form action="view.php" method=post>
    3. <input type=text name=mytext>
    4. <input type=hidden name=hide value=1>
    5. </form>
    Если выполнять Refresh странички, то $_POST["hide"] все равно присутствует !!!
    Как сделать чтобы не было повторной записи после Refresh ?[/php]
     
  2. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    посмотрите как на форуме сделано. после отправки сообщения переходите на страничку "сообщение отправлено", а потом возвращаетесь в форум. при обновлении страницы нет повторной отправки.
     
  3. kuzya_vl

    kuzya_vl Активный пользователь

    С нами с:
    22 июн 2011
    Сообщения:
    10
    Симпатии:
    0
    Но это дополнительное окно.
    А без промежуточной странмцы нельзя?
     
  4. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    После обработки скриптом данных пишите
    Код (Text):
    1. header("Location:http://адрес.страницы");
     
  5. kuzya_vl

    kuzya_vl Активный пользователь

    С нами с:
    22 июн 2011
    Сообщения:
    10
    Симпатии:
    0
    PHP:
    1. if (isset($POST["hide"]) && ($_POST["hide"] == 1))
    2.  {
    3.      save_data();       // запись даных
    4.      header("Location:view.php")
    5.  }
    6.  <body>
    7.  Вывод данных
    8.  </body>
    По-прежнему сохраняет данные при повторном Refresh ![/php]
     
  6. Easy

    Easy Активный пользователь

    С нами с:
    15 июл 2011
    Сообщения:
    286
    Симпатии:
    0
    PHP:
    1. if (isset($POST["hide"]) && ($_POST["hide"] == 1))
    2.   {
    3.      save_data();      // запись даных
    4.      header("Location:view.php");
    5.      exit;
    6.   }
    попробуйте, у вас вообще нет точки с запятой, у вас код не должен работать :)
     
  7. Mamont

    Mamont Активный пользователь

    С нами с:
    5 дек 2010
    Сообщения:
    183
    Симпатии:
    0
    isset($_POST["hide"]
     
  8. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    можно javascript сделать для отправки формы.