Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z formularzem
Forum PHP.pl > Forum > Przedszkole
gazil
Witam, walczę z tematem już 2 dni i postanowiłem się zarejestrować i zapytać


na stronie w html mam w odpowiednim dla mnie mniejscu tak:
  1. <?php
  2. if(empty($_POST['submit'])){
  3. ?>
  4. <form action="kontakt.php" method="post">
  5. Telefon:<br />
  6. <input type="text" name="telefon" style="width:300px;"/><br />
  7. E-Mail:<br />
  8. <input type="text" name="email" style="width:300px;"/><br />
  9. Treść wiadomości:<br />
  10. <textarea name="trescwiadomosci" cols="30" rows="6" style="width:300px !important;"></textarea><br />
  11. <input type="submit" name="submit" value="Wyślij formularz"/> 
  12. <input type="reset" value="Wyczyść"/>
  13. </form>
  14. <?php
  15.  
  16.  
  17. }elseif(!empty($_POST['email']) && !empty($_POST['trescwiadomosci'])){
  18.  
  19.  
  20. function SprawdzEmail($email) {
  21. if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$" , $email)){
  22. return false;
  23. }
  24. return true;
  25. }
  26. if(SprawdzEmail($_POST['email'])){
  27.  
  28.  
  29. $adresemail='gazilekelf@gmail.com';
  30.  
  31.  
  32.  
  33. $charset = 'utf-8';
  34.  
  35. $wiadomosc="Od: $_POST[telefon] ($_POST[email])\n\n$_POST[trescwiadomosci]";
  36. $nadawca="From: $_POST[email]";
  37. @mail($adresemail, "Formularz kontaktowy z www", "$wiadomosc", "$nadawca");


a na serwerze jest jeszcze plik kontakt.php w którym jest tak
  1. <?php
  2. if(empty($_POST['submit'])){
  3. ?>
  4. <form action="kontakt.php" method="post">
  5. Telefon:<br />
  6. <input type="text" name="telefon" style="width:300px;"/><br />
  7. E-Mail:<br />
  8. <input type="text" name="email" style="width:300px;"/><br />
  9. Treść wiadomości:<br />
  10. <textarea name="trescwiadomosci" cols="30" rows="6" style="width:300px !important;"></textarea><br />
  11. <input type="submit" name="submit" value="Wyślij formularz"/> 
  12. <input type="reset" value="Wyczyść"/>
  13. </form>
  14. <?php
  15.  
  16.  
  17. }elseif(!empty($_POST['email']) && !empty($_POST['trescwiadomosci'])){
  18.  
  19.  
  20. function SprawdzEmail($email) {
  21. if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$" , $email)){
  22. return false;
  23. }
  24. return true;
  25. }
  26. if(SprawdzEmail($_POST['email'])){
  27.  
  28.  
  29. $adresemail='gazilekelf@gmail.com';
  30.  
  31.  
  32.  
  33. $charset = 'utf-8';
  34.  
  35. $wiadomosc="Od: $_POST[telefon] ($_POST[email])\n\n$_POST[trescwiadomosci]";
  36. $nadawca="From: $_POST[email]";
  37. @mail($adresemail, "Formularz kontaktowy z www", "$wiadomosc", "$nadawca");
  38.  
  39.  
  40. header("Location: potwierdzenie.html");
  41. }
  42.  
  43. else
  44. { header("Location: zlymail.html"); }
  45. }
  46.  
  47. else
  48. { header("Location: pustawiadomosc.html"); }
  49.  
  50. ?>


prosty formularz, wszystko działa tylko chciałbym osiągnąć żeby po kliknięciu wyślij potwierdzenie powodzenia wysłania lub niepowodzenia wyskoczyło w jakimś okienku lub w nowym oknie (aczkolwiek wolałbym aby to był jakiś pop-up żeby strona się nie musiała przeładowywać)

pomóżcie mi ogarnąć bo mózg mi się już stopił
patwoj98
Podałeś dwa takie same pliki. W mailu brakuje headerów.
Nie ma opcji żebyś wysłał maila w ten sposób i nie przeładowałbyś strony. Musiałbyś użyć ajaxa.
Samo sprawdziane rezultatu zrób poprzez $result=mail(...); w srodku Twoje parametry. Jak mail zostanie wysłany będzie true, a w przeciwnym razie false (zgodnie z dokumentacją.
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.