За последние 24 часа нас посетили 194778 программистов и 1989 роботов. Сейчас ищут 1772 программиста ...

Повторная отправка POST

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

  1. vodorod

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

    С нами с:
    10 янв 2011
    Сообщения:
    217
    Симпатии:
    0
    Скажите как можно убрать повторную отправку методом post, т.е. когда первый раз отправил данные, и чтобы когда перезагружаешся страницу, они заново не отправлялись
     
  2. Gromo

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

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    после отправки делать редирект на /index.php с помощью header('Location: /index.php'); ну или куда там нужно
     
  3. vodorod

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

    С нами с:
    10 янв 2011
    Сообщения:
    217
    Симпатии:
    0
    А без редиректа можно как нибудь?
     
  4. karakh

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

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Зачем?
     
  5. vodorod

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

    С нами с:
    10 янв 2011
    Сообщения:
    217
    Симпатии:
    0
    А можно это как нибудь javaspript'ом делать
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    нет. браузер при перезагрузке страницы сам решает это дело переотправить. так что если ты его на эту же страницу тут же редиректнешь, то браузер уже не будет думать что требуется обновить ту страницу, на которую он посылал данные. Он ведь не со зла это делает, а для твоего же удобства...
     
  7. vodorod

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

    С нами с:
    10 янв 2011
    Сообщения:
    217
    Симпатии:
    0
    Всмысле можно ли как нибудь javascript'ом отправлять данные?И если можно не подскажете скрипт
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    jquery.ajax
     
  9. Elena777

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

    С нами с:
    30 янв 2011
    Сообщения:
    10
    Симпатии:
    0
    Идея следующая:
    В форме: [sql]echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\">\n";[/sql]
    Далее :

    [sql]<?
    $prenom ="";
    $nom = "";
    $telephone = "";
    $courriel = "";

    // Если нажали на кнопку
    if (array_key_exists("soumis", $_POST)) {

    // инициализация переменных
    $prenom = $_POST['prenom'];
    $nom = $_POST['nom'];
    $telephone = $_POST['telephone'];
    $courriel = $_POST['courriel'];

    // проверить формуляр
    if((validerFormulaire($prenom, $nom, $telephone, $courriel)) == 0){

    mail ($monCourriel, "ImPr - ".$p." : ".$prenom." ".$nom, $message, $headers);
    //Далее вместо формуляра напечатать благодарственное слово -> возможности посылать больше нет

    } else { // афишировать результаты проверки формуляра
    afficherErreures(validerFormulaire($prenom, $nom, $telephone, $courriel));
    printFormRecherche($prenom, $nom, $telephone, $courriel);
    }

    } else { // напечатать формуляр в первый раз
    printFormRecherche($prenom, $nom, $telephone, $courriel, $prix, $autre, $attentes, $lang, $page);
    }
    ?> [/sql][/sql]
     
  10. Elena777

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

    С нами с:
    30 янв 2011
    Сообщения:
    10
    Симпатии:
    0
    PS: Сорри, я в printFormRecherche($prenom, $nom, $telephone, $courriel) в нижней строчке, лишние параметры не стерла. Естетственно, что это одна и таже функция с теми же переметрами.
     
  11. Devzirom

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

    С нами с:
    15 фев 2009
    Сообщения:
    463
    Симпатии:
    0
    Адрес:
    Пермь
    =)