Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] przekierowanie po wysłaniu formularza
Forum PHP.pl > Forum > Przedszkole
kornel_webmaster
Witam!

Mam mały problem. Stworzyłem formularz kontaktowy na strnie dnamicznej. Chcę zrobić przekierowanie po poprawnym wysłąniu formularza.

kod formularza kontaktowego
  1. <div id="post">
  2.  
  3. <?php
  4. function show_error_message(){
  5. echo "<div id=\"error_message\"><div id=\"close_message\" onclick=\"warm();\">zamknij X </div> Wiadomość nie została wysłana ! Uzupełnij wszystkie pola </div>";
  6. };
  7. function display_my_form(){
  8. echo "<table border=\"0\" id=\"tbl\"><form method=\"post\">
  9. <tr>
  10. <td>Treść wiadomości</td>
  11. <td><textarea name=\"tresc\"></textarea></td>
  12. </tr>
  13. <tr>
  14. <td>Imię, nazwisko lub nick</td>
  15. <td><input class=\"css21\" type=\"text\" name=\"imie\" ></td>
  16. </tr>
  17. <tr>
  18. <td>Adres e-mail</td>
  19. <td><input class=\"css21\" type=\"text\" name=\"email\"></td>
  20. </tr>
  21. <tr>
  22. <td>&nbsp;</td>
  23. <td><input class=\"css3\" type=\"submit\" name=\"submit\" value=\"Wyślij\">&nbsp;<!--
  24. <input type=\"reset\" class=\"css3\" value=\"Od nowa\">--></td></form>
  25. </tr>
  26. </table>
  27. <br /><br />
  28. <div style=\"font-size:11pt;\">
  29. <b style=\"color:#000; font-weight:bold;\">*Proszę uzupełnić wszstkie pola formularza</b> Brak uzupełnienia pola formularza spowoduje , że nie zostanie on wysłany.
  30. </div>
  31. ";
  32. };
  33.  
  34. // sprawdzamy, czy zmienna $submit jest pusta
  35. if (empty($_POST['submit'])) {
  36. // wyświetlamy formularz
  37.  
  38. display_my_form();
  39. }
  40. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  41. elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
  42. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  43. // zmienna $message zawiera treść wiadomości
  44. $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]";
  45. // zmienna $header zawiera przede wszystkim adres zwrotny
  46. $header = "From: $_POST[imie] <$_POST[email]>";
  47. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  48. @mail("a.kornel@wp.pl","Wiadomosc ze strony WWW","$message","$header")
  49. or die('Nie udało się wysłać wiadomości');
  50. // wyświetlenie komunikatu w przypadku powodzenia
  51. $form="true";
  52. echo "<div style=\"align:center;\"><b style=\"font-size:30pt; font-weight:bold; color:#3388ff;\">Wiadomość została wysłana poprawnie!</b></div>";
  53.  
  54. }
  55. // lub w przypadku nie wypełnienia formularza do końca
  56. else {
  57. show_error_message();
  58. display_my_form();
  59. };
  60.  
  61. ?>
  62. </div>
phpion
Użyj:
  1. header('Location: adres_po_wyslaniu.php');

po wysłaniu wiadomości. Pamiętaj jednak, że przed przekierowaniem nie możesz wysłać nic do przeglądarki (żadnego kodu HTML).
basstone
Lub możesz użyć JS:

  1. echo "<script> window.location = \"strona.php\" </script>";
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.