Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Wysyłanie metodą POST i odświeżanie strony., Ominięcie informacji o przesłaniu danych
Adis92
post
Post #1





Grupa: Zarejestrowani
Postów: 146
Pomógł: 12
Dołączył: 9.01.2009
Skąd: Płock

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


Witam. Mam problem związany z wysyłaniem danych z formularza przy użyciu metody POST. Wszystko fajnie ale jeżeli po wysłaniu i odebraniu danych ktoś postanowi odświeżyć stronę wyświetla się okno wymuszające potwierdzenie przesłania danych. I tutaj jest moje pytanie jak zrobić aby to okienko się NIE pokazywało. Tak wiem o metodzie GET ale nie zawsze jest to odpowiednia metoda, a wiem że wiele profesjonalnych serwisów wysyła dane za pomocą metody POST i okno się nie wyświetla.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
b4rt3kk
post
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cały trick polega na tym by po pobraniu danych z POST nastąpiło przekierowanie.

  1. <?php
  2. if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  3. // pobranie oraz przetworzenie danych z $_POST, np. zapis do bazy
  4. // kiedy czynności zostaną wykonane może nastąpić przekierowanie
  5. header("Location: sukces.php");
  6. }
  7. ?>
  8. <form method="POST" action="">
  9. <input type="text" name="inp1" />
  10. <input type="submit" />
  11. </form>


oraz plik sukces.php:

  1. echo 'Dziękujemy za wypełnienie formularza. Możesz go sobie odświeżać do woli. :)';


Ten post edytował b4rt3kk 14.11.2012, 00:43:33
Go to the top of the page
+Quote Post
Adis92
post
Post #3





Grupa: Zarejestrowani
Postów: 146
Pomógł: 12
Dołączył: 9.01.2009
Skąd: Płock

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


Po małym dostosowaniu działa tak jak potrzebowałem. Dzięki

Edit.: Jednak jest mały problem. Zrobiłem to tak:
  1. if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  2. header("Location: ".$_SERVER['REQUEST_URI']);
  3. }

Problem polega na tym, że po odświeżeniu strony po wysłaniu formularza nie działa przycisk w przeglądarce powrót do poprzedniej strony.

Ten post edytował Adis92 14.11.2012, 01:17:58
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #4





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Tzn. jak nie działa? Po wciśnięciu wstecz powinno przenieść do strony sprzed przekierowania, bo inaczej to nie miałoby sensu.
Go to the top of the page
+Quote Post
Adis92
post
Post #5





Grupa: Zarejestrowani
Postów: 146
Pomógł: 12
Dołączył: 9.01.2009
Skąd: Płock

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


Właśnie w przeglądarce chrome wywołanie tej funkcji blokuje przycisk wstecz w ie wszystko działa normalnie więc to może jest wina przeglądarki.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 02:02