Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Powtórne wysyłanie formularzy przy odświeżaniu strony, Jak zablokować?
plmorpheus
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 12.01.2008

Ostrzeżenie: (0%)
-----


Jak w temacie - jak zablokować powtórne wysyłanie formularza przy odświeżaniu strony?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
AxZx
post
Post #2





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

Ostrzeżenie: (0%)
-----


po zrobieniu czegos z danymi z $_POST mozesz zrobic przekierowanie

  1. <?php
  2. header("Location: http://".$_SERVER['http_referrer']);
  3. ?>


sprawdz to:)


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
plmorpheus
post
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 12.01.2008

Ostrzeżenie: (0%)
-----


A w którym miejscu się to wstawia dokładnie? Po prostu jestem bardzo początkujący w phpie i nie chciałbym uwalić jakiegoś byka a robienie metodą chybił-trafił mija się z celem.

Jakbym mógł prosić o pokazanie mi tego na przykładzie poniższego kodu, byłbym wdzięczny:

Kod
<?php
echo '<center><img src = "sevitel.jpg"><BR><BR><BR></center>';

// sprawdzamy, czy zmienne przesłane z formularza nie są puste
if (!empty($_POST['imie']) && !empty($_POST['nazwisko']) && !empty($_POST['kod']) && !empty($_POST['ulica']) && !empty($_POST['miasto']) && !empty($_POST['tel']) && !empty($_POST['mail'])) {
     //jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
     //zmienna $message zawiera treść wiadomości
    $message = "W naszym serwisie zarejestrował się nowy klient. Oto jego dane:\nImię:\n$_POST[imie]\nNazwisko: $_POST[nazwisko]\nUlica: $_POST[ulica]\nkod: $_POST[kod]\nMiasto: $_POST[miasto]\nTelefon: $_POST[tel]\nE-mail: $_POST[mail]\nNIP: $_POST[nip]";
     //zmienna $header zawiera przede wszystkim adres zwrotny
    $header = 'From: sklep@jakasfirma.pl', Location;
     //funkcja mail() za pomocą której wiadomość zostanie wysłana
    mail("sklep@jakasfirma.pl","Nowy Klient","$message", "$header")
    or die('Zgłoszenie zostało odrzucone');
     //wyświetlenie komunikatu w przypadku powodzenia
    echo "<div align=\"center\"><strong><center>Państwa zgłoszenie zostało przyjęte. Gdy proces rejestracji zostanie ukończony, zostaniecie Państwo o tym poinformowani e-mailem wysłanym na adres podany w formularzu.</center></strong></div>";





}
// lub w przypadku nie wypełnienia formularza do końca
else echo "<span style=\"color: #FF0000; text-align: center;\"><center><B>Proszę wypełnić wszystkie pola oznaczone gwiazdką - zgłoszenie odrzucone.</B></center></span>";

?>


Ten post edytował plmorpheus 17.01.2008, 10:58:42
Go to the top of the page
+Quote Post
AxZx
post
Post #4





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

Ostrzeżenie: (0%)
-----


  1. <?php
  2. //wyświetlenie komunikatu w przypadku powodzenia 
  3. $_SESSION['komunikat'] = "<div align=\"center\"><strong><center>Państwa zgłoszenie zostało przyjęte. Gdy proces rejestracji zostanie ukończon
    y, zostaniecie Państwo o tym poinformowani e-mailem wysłanym na adres podany w formularzu.</center></strong></div>"
    ;
  4. header("Location: <a href=\"http://jakis.nowy.adres");&#092;" target=\"_blank\">http://jakis.nowy.adres");</a>
  5. ?>


a w miejscu jakis.nowy.adres sprawdzasz czy jest $_SESSION['komunikat'] i go wyswietlasz.


  1. <?php
  2. echo '<center><img src = "sevitel.jpg"><BR><BR><BR></center>';
  3. ?>

tego potwora usun, albo wstaw w przypadku bledu.


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
Siner
post
Post #5





Grupa: Zarejestrowani
Postów: 159
Pomógł: 6
Dołączył: 2.01.2004

Ostrzeżenie: (0%)
-----


  1. <?php
  2. ...
  3.  mail("sklep@jakasfirma.pl","Nowy Klient","$message", "$header")
  4.  header("Location: http://".$_SERVER['http_referrer']);
  5. ...
  6. ?>


Zamiast http://$_SERVER['http_referrer']. Możesz wpisać http://adres_twojej strony.pl/for_przyjety.php, i tam wyświetlić podziękowania, ale jest jeszcze sprawa "echo '<center><img src = "sevitel.jpg"><BR><BR><BR></center>';" przed przekierowaniem nie można wysyłać żadnych nagłówków. Najlepiej poszukaj na forum wątek często wałkowany.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 18:16