Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Formularz i mały problem
Forum PHP.pl > Forum > Przedszkole
fcppl
Witam,

Mam taki formularz kontaktowy, skrypt mam z internetu lekko go przerobiłem i wszystko mi działa OK. Teraz chciałem dorobic zeby tylko pierwsze trzy pola byly obowiazkowe, a pole "Informacje dodatkowe" dowolne. W tej chwili działa formularz jedynie jak wypelnie wszystkie cztery pola. Sam kombinuje juz 2 dzien, ale nie daje sobie rady. Dodam ze moja znajomosc php jest bardzo ograniczona.

Prosze o pomoc

  1. <?php
  2. if ((empty($_POST['kurs']) or empty($_POST['termin']) or empty($_POST['email']) or empty($_POST['uwaga'])) and !empty($_POST['submit'])) {
  3. // wyświetlamy formularz
  4. echo "<table border='0'><form method='post'>
  5. <tr>
  6. <td><input type='text' name='kurs' class='mass' value='".$_POST['kurs']."'></td>
  7. </tr>
  8. <tr>
  9. <td><input type='text' name='termin' class='mass' value='".$_POST['termin']."'></td>
  10. </tr>
  11. <tr>
  12. <td><input type='text' name='email' class='mass' value='".$_POST['email']."'></td>
  13. </tr>
  14. <tr>
  15. <td><input type='text' name='uwaga' class='mass' value='".$_POST['uwaga']."'></td>
  16. </tr>
  17. </table>
  18. <table border='0'>
  19. <tr>
  20. <td>
  21. <p><input type='submit' name='submit' value='.' class='input1'></p>
  22. </td>
  23. </tr>
  24. </table>
  25. <tr>
  26. <td><span style='color:#fff; font-size:13px; margin:0 0 0 4px;'>Wypełnij wszystkie pola formularza!</span></td>
  27. <td>";
  28. // lub w przypadku nie wypełnienia formularza do końca
  29. echo "
  30. </td>
  31. </tr>
  32. </table>";
  33. }
  34. elseif (empty($_POST['kurs']) or empty($_POST['termin']) or empty($_POST['email']) or empty($_POST['uwaga']) and empty($_POST['submit'])) {
  35. // wyświetlamy formularz
  36. echo "<form action='index.php' method='post'>
  37.  
  38. <p><input type='text' name='kurs' class='mass' value='Wpisz imię i nazwisko'></input></p>
  39.  
  40. <p><input type='text' name='termin' class='mass' value='Wpisz adres e-mail'></input></p>
  41.  
  42. <p><input type='text' name='email' class='mass' value='Wpisz numer telefonu'></input></p>
  43.  
  44. <p><input type='text' name='uwaga' class='mass' value='Informacje dodatkowe'></input></p>
  45.  
  46. <table border='0'>
  47. <tr>
  48. <td>
  49. <p><input type='submit' name='submit' value='.' class='input1'></input></p>
  50. </td>
  51. </tr>
  52. </table></form>";
  53. }
  54.  
  55. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  56. elseif (!empty($_POST['kurs']) && !empty($_POST['termin']) && !empty($_POST['email'])) {
  57. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  58. // zmienna $message zawiera treść wiadomości
  59. $message = "Imię i nazwisko: $_POST[kurs]
  60. <br>e-mail: $_POST[termin]
  61. <br>Numer telefonu: $_POST[email]
  62. <br>Informacje dodatkowe: $_POST[uwaga]
  63. ";
  64. // zmienna $header zawiera przede wszystkim adres zwrotny
  65. $header = "From: $_POST[kurs] <$_POST[email]> $from
  66. Reply-to: $from
  67. MIME-Version: 1.0
  68. Content-type: text/html; charset=UTF-8";
  69. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  70. @mail("xxx","Wiadomosc ze strony F4B","$message","$header")
  71. or die('Nie udało się wysłać wiadomości');
  72. // wyświetlenie komunikatu w przypadku powodzenia
  73. echo "<div <span style='color:#fff; font-size:13px; margin:35px 0 0 3px;'>Wiadomość została wysłana poprawnie!</div>";
  74. }
  75. ?>


Pozdrawiam
untorched
2 linijka ma wyglądać tak:
  1. if ((empty($_POST['kurs']) or empty($_POST['termin']) or empty($_POST['email'])) and !empty($_POST['submit'])) {
34 linijka ma wyglądać tak:
  1. elseif ((empty($_POST['kurs']) or empty($_POST['termin']) or empty($_POST['email'])) and empty($_POST['submit'])) {


wacko.gif
fcppl
dzieki za pomoc dziala,

ale dopiero teraz widze ze napisałes

"34 linijka ma wyglądać tak:" mi działa to poprawnie jak zrobiłem zmiany tylko w 2 linijce jak pisałes na samym poczatku.

Witam,

Mam jeszcze jedno pytanie. Jak dorobic w tym formularzu zeby po wypełnieniu i przeslaniu zapytania. Nadawca otrzymywał automatycznie informacje na swojego meila.

np" Dziekujemy za przesłanie pytanie. Cos tam cos tam"

Dziekuje z gory za pomoc.
Kulfon
Jak już będzie po proteście przeciwko SOPA to wejdz na php.net i poczytaj o funkcji mail() smile.gif
untorched
@up, manual przecież działa LINK o_O
Kulfon
Aj racja... Polska wersja...
zakładkę mam zrobioną na php.net - a tamta wersja nie działa.
fcppl
witam,

Poczytałem troche pomieszałem i wszystko działa mi juz w 90% OK. Mam tylko problem jak wysłać meila do osoby wypelniajacej formularz o np: tresci "Dziekujemy cos tam cos tam", a wypelniany formularz do administratora strony.

Bo na ta chwile dwa takie same meile dostaje wypelniajacy i administrator i nie potrafie tego oddzielic.

Oto zmodyfikowany kod

  1. <?php
  2. if ((empty($_POST['kurs']) or empty($_POST['termin']) or empty($_POST['email'])) and !empty($_POST['submit'])) {
  3. // wyświetlamy formularz
  4. echo "<form action='index.php' method='post'>
  5.  
  6. <p><input type='text' name='kurs' class='mass' value='".$_POST['kurs']."'></input></p>
  7.  
  8.  
  9. <p><input type='text' name='termin' class='mass' value='".$_POST['termin']."'></input></p>
  10.  
  11.  
  12. <p><input type='text' name='email' class='mass' value='".$_POST['email']."'></input></p>
  13.  
  14. <p><input type='text' name='uwaga' class='mass' value='".$_POST['uwaga']."'></input></p>
  15.  
  16. <table border='0'>
  17. <tr>
  18. <td>
  19. <p><input type='submit' name='submit' value='.' class='input1'></p>
  20. <p><span style='color:#fff; font-size:13px; margin:0 0 0 4px;'>Wypełnij wszystkie pola formularza!</span>
  21. </td>
  22. </tr>
  23. ";
  24. // lub w przypadku nie wypełnienia formularza do końca
  25. echo "
  26. </td>
  27. </tr>
  28. </table></form>";
  29. }
  30. elseif (empty($_POST['kurs']) or empty($_POST['termin']) or empty($_POST['email']) or empty($_POST['uwaga']) and empty($_POST['submit'])) {
  31. // wyświetlamy formularz
  32. echo "<form action='index.php' method='post'>
  33.  
  34. <p><input type='text' name='kurs' class='mass' value='Wpisz imię i nazwisko *' onfocus=\"if (this.value=='Wpisz imię i nazwisko *') { this.value=''; }\"onblur=\"if (this.value=='') { this.value=''; }\" /></p>
  35.  
  36. <p><input type='text' name='termin' class='mass' value='Wpisz adres e-mail *' onfocus=\"if (this.value=='Wpisz adres e-mail *') { this.value=''; }\"onblur=\"if (this.value=='') { this.value=''; }\" /></p>
  37.  
  38. <p><input type='text' name='email' class='mass' value='Wpisz numer telefonu *' onfocus=\"if (this.value=='Wpisz numer telefonu *') { this.value=''; }\"onblur=\"if (this.value=='') { this.value=''; }\" /></p>
  39.  
  40. <p><input type='text' name='uwaga' class='mass' value='Informacje dodatkowe' onfocus=\"if (this.value=='Informacje dodatkowe') { this.value=''; }\"onblur=\"if (this.value=='') { this.value=''; }\" /></p>
  41.  
  42. <table border='0'>
  43. <tr>
  44. <td>
  45. <p><input type='submit' name='submit' value='.' class='input1'></input></p>
  46. </td>
  47. </tr>
  48. </table></form>";
  49. }
  50.  
  51. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  52. elseif (!empty($_POST['kurs']) && !empty($_POST['termin']) && !empty($_POST['email'])) {
  53. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  54. // zmienna $message zawiera treść wiadomości
  55. $message = "
  56.  
  57. Witaj <b>$_POST[kurs]</b>,<br>
  58. przyjęliśmy Twoje zgłoszenie. W najbliższym czasie skontaktujemy się z Tobą.<p>
  59.  
  60. ----------<p>
  61.  
  62. <b>Imię i nazwisko:</b> $_POST[kurs]
  63. <p><b>e-mail:</b> $_POST[termin]
  64. <p><b>Numer telefonu:</b> $_POST[email]
  65. <p><b>Informacje dodatkowe:</b> $_POST[uwaga]
  66. ";
  67. // zmienna $header zawiera przede wszystkim adres zwrotny
  68. $header = "From: xxx <$_POST[email]> $from
  69. Reply-to: $from
  70. Bcc: $_POST[termin]
  71. MIME-Version: 1.0
  72. Content-type: text/html; charset=UTF-8";
  73.  
  74.  
  75. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  76. @mail("xxx","Wiadomosc ze strony xxx","$message","$header")
  77. or die('Nie udało się wysłać wiadomości');
  78. // wyświetlenie komunikatu w przypadku powodzenia
  79. echo "<div <span style='color:#fff; font-size:13px; margin:35px 0 0 3px;'>Wiadomość została wysłana poprawnie!</div>";
  80. }
  81. ?>


Pozdrawiam i proszę o jakas wakazowke

Czy moze mi ktos pomoc?
untorched
Zmiana treści zmiennej $message na inną?
fcppl
smile.gif sama tresc jest OK, ale teraz dla mnie problemem jest jak zrobic zeby inna tresc szla do administratora strony zakladajac ze ta pierwsza idzie do osoby ktora wypelniła formularz.

witam,

Moze mnie ktos jakos konkretniej nakierwac. Bo mecze sam i stoje w punkcie wyjscia.

Dziekuje z gory

Pozdrawiam
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.