Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS][HTML][PHP] - formularz zgłoszeniowy
Forum PHP.pl > Forum > Przedszkole
dang3r
Witam,
chciałbym zrobić formularz zgłoszeniowy w którym przykładowo wpisuje się: imie i wiek, zaznaczą że wyraża się zgodę na przetwarzanie danych a następnie klika "wyślij zgłoszenie" - wpisane dane bez użycia zewnętrznego klienta e-mail (a więc całkowicie przy uzyciu jedynie przeglądarki) są wysyłane na moją skrzynkę e-mailową.

Niestety z php nigdy nie mialem do czynienia. Jedynie w htmlu robilem kiedyś strony a i to wymagałoby odświeżenia. Proszę o jakieś wskazówki gdzie szukać obszernego materiału na ten temat lub gotowca do edycji oraz czy ew. użycie samego html wystarczy a także o podanie mi jakiegoś serwera z "odpowiednią (MySql?) obsługą"
Będę bardzo wdzięczny
Pozdrawiam
Kshyhoo
Google: skrypt formularz zgłoszeniowy w php
dang3r
a więc tak łatwo nie będzie... wink.gif
znalazłem kod:
  1. <?php
  2. require_once "maincore.php";
  3. require_once "subheader.php";
  4. require_once "side_left.php";
  5.  
  6. opentable('Formularz zgłoszeniowy');
  7. if ($form==TRUE) {
  8. if ($akcept==FALSE) {
  9. echo "UWAGA! Zgłoszenie nie zostalo wyslane! Musisz zaakceptować regulamin,"; }
  10. elseif ($imie!="" && $email!="" && $nazwa!="" && $poczta!="" && $opis!="" && $wspolpraca!="" && $akcept!="")
  11. {
  12. echo "<center><br>Dziekuje za zgloszenie. Zostanie ono zweryfikowane.<br>
  13. Odpowiedz wyslemy w ciagu max 48 godz na adres, który podałes w formularzu.<p>
  14. Pozdrawiamy<br>
  15. Redakcja <b>Opiekunki.cba.pl</b></center>";
  16. $tresc = "Imię: ".$imie."\nAdres E-mail: ".$email."\nProponowana nazwa serwisu: ".$nazwa."\nKonto pocztowe: ".$poczta."\nProponowany adres email: ".$nazwa_email."\nTematyka strony, zawartość i któtki opis: ".$opis."\nPropozycję współpracy: ".$wspolpraca;
  17. mail("","Wiadomosc w sprawie sponsoringu od ".$imie,$tresc);
  18. return;
  19. }
  20. else
  21. {
  22. echo "UWAGA! Zgłoszenie nie zostalo wyslane!Wypelnij wszystkie wymagane pola i wyslij formularz ponownie.";
  23. }
  24. }
  25. else {
  26. ?>
  27. <!-- formularz -->
  28. <center><br>Prosze wypełnić formularz i wysłać zgłoszenie.<br>
  29. Pola oznaczone znakiem <font color="red"><b>*</b></font> musza zostać wypełnione. Dziękujemy.</center><p>
  30. <form action="<? echo $PHP_SELF; ?>" method="post"><input type="hidden" name="form" value="TRUE">
  31. <table align='center' cellpadding='0' cellspacing='0' class='tbl'>
  32. <tr>
  33. <td width='300'>Imię i Nazwisko lub nazwa firmy <font color="red"><b>*</b></font></td>
  34. <td><input type=text name=imie size="25"></td>
  35. </tr>
  36. <tr>
  37. <td width='300'>Adres E-mail <font color="red"><b>*</b></font></td>
  38. <td><input type=text name=email size="25"></td>
  39. </tr>
  40. <tr>
  41. <td width='300'>Proponowana nazwa serwisu</td>
  42. <td><input type=text name=nazwa size="25"> .nidzica.org</td>
  43. </tr>
  44. <tr>
  45. <td width='300'>Konto pocztowe</td>
  46. <td><select name='poczta' style='width: 50px' value=''>
  47. <option value='Tak'>Tak</option>
  48. <option value='Nie'>Nie</option>
  49. </select> <input type=text name=nazwa_email size="25"> @nidzica.org</td></tr>
  50. <tr><td valign='top' width='90'>Tematyka strony, zawartosć i jej któtki opis <font color="red"><b>*</b></font></td>
  51. <td><textarea name=opis rows="10" class='textbox' style='width: 320px'></textarea></td></tr>
  52. <tr><td valign='top' width='90'>Propozycję współpracy ("zamiescimy bannerek" nie jest propozycja współpracy!) <font color="red"><b>*</b></font></td>
  53. <td><textarea name=wspolpraca rows="10" class='textbox' style='width: 320px'></textarea></td></tr>
  54. <tr>
  55. <td width='300'>Oswiadczam, że zapoznałem się z <a href="viewpage.php?page_id=36" target="_blank">regulaminem</a> i zobowiazuje się do jego przestrzegania.</td>
  56. <td><input type="checkbox" name="akcept" checked></td>
  57. </tr>
  58. <td align='center' colspan='2'>
  59. <input type='submit' name='submit' value='Wyslij zgłoszenie' class='button'>
  60. </td>
  61. </tr>
  62. </table>
  63. </form>
  64. <?
  65. }
  66. closetable();
  67. require_once "side_right.php";
  68. require_once "footer.php";


umieściłem go w pliku index.php na http://opiekunki.cba.pl/ i nie działa... - dałoby się go jakoś z waszą pomocą w prosty sposób poprawić (bez zawracania głowy) tak żeby działał i żebym mógł go sobie już później sam dalej edytować metodą prób i błędów oraz dalszego uczenia się?
Turson
Fatal error: require_once(): Failed opening required 'maincore.php' (include_path='.:/opt/php54/lib/php')
błąd mówi wszystko facepalmxd.gif
dang3r
Poprawione.
Najnowszy kod:
  1. <?php
  2. if ($form==TRUE) {
  3. if ($akcept==FALSE) {
  4. echo "UWAGA! Zgłoszenie nie zostalo wyslane! Musisz zaakceptować zgodę na przetwarzanie danych osobowych,"; }
  5. elseif ($imie!="" && $miejscowosc!="" && $wiek!="" && $kontakt!="" && $niemiecki!="" && $wyjazdy!="" && $akcept!="")
  6. {
  7. echo "<center><br>Dziekuje za zgloszenie. Zostanie ono zweryfikowane.<br>
  8. W przypadku akceptacji, będziemy się z Państwem kontaktować.<p>
  9. Pozdrawiamy<br>
  10. </center>";
  11. $tresc = "Imię i Nazwisko lub nazwa firmy: ".$imie."\nAdres E-mail: ".$email."\nProponowana nazwa serwisu: ".$nazwa."\nKonto pocztowe: ".$poczta."\nProponowany adres email: ".$nazwa_email."\nTematyka strony, zawartość i któtki opis: ".
  12. $opis."\nPropozycję współpracy: ".$wspolpraca;
  13. mail("","Wiadomosc w sprawie sponsoringu od ".$imie,$tresc);
  14. return;
  15. }
  16. else
  17. {
  18. echo "UWAGA! Zgłoszenie nie zostalo wyslane!Wypelnij wszystkie wymagane pola i wyslij formularz ponownie.";
  19. }
  20. }
  21. else {
  22. ?>
  23. <!-- formularz -->
  24. <html>
  25. <center><br>Prosze wypełnić formularz.<br>
  26. </center><p>
  27. <form action="<? echo $PHP_SELF; ?>" method="post"><input type="hidden" name="form" value="TRUE">
  28. <table align='center' cellpadding='0' cellspacing='0' class='tbl'>
  29. <tr>
  30. <td width='300'>Imię: </td>
  31. <td><input type=text name=imie size="20"></td>
  32. </tr>
  33. <tr>
  34. <td width='300'>Miejscowosć: </td>
  35. <td><input type=text name=email size="20"></td>
  36. </tr>
  37. <tr>
  38. <td width='300'>Wiek: </td>
  39. <td><input type=text name=nazwa size="20"></td>
  40. </tr>
  41. <tr>
  42. <td width='300'>Telefon kontaktowy lub adres e-mail: </td>
  43. <td><input type=text name=nazwa size="20"></td>
  44. </tr>
  45. <tr>
  46. <td width='300'>Znajomość j. niemieckiego w skali od 0 do 10: </td>
  47. <td><select name='niemiecki' style='width: 50px' value=''>
  48. <option value='0'>0</option>
  49. <option value='1'>1</option>
  50. <option value='2'>2</option>
  51. <option value='3'>3</option>
  52. <option value='4'>4</option>
  53. <option value='5'>5</option>
  54. <option value='6'>6</option>
  55. <option value='7'>7</option>
  56. <option value='8'>8</option>
  57. <option value='9'>9</option>
  58. <option value='10'>10</option></tr>
  59. <td width='300'>Orientacyjna ilość dotychczasowych wyjazdów do Niemiec jako opiekunka osób starszych: </td>
  60. <td><select name='wyjazdy' style='width: 50px' value=''>
  61. <option value='0'>0</option>
  62. <option value='od 1 do 3'>od 1 do 3</option>
  63. <option value='od 3 do 5'>od 3 do 5</option>
  64. <option value='od 5 do 10'>od 5 do 10</option>
  65. <option value='od 10 do 20'>od 10 do 20</option>
  66. <option value='od 20 do 35'>od 20 do 35</option>
  67. <option value='od 35 do 507'>od 35 do 50</option>
  68. <option value='powyżej 50'>powyżej 50</option></tr>
  69. </select></td></tr>
  70. </table>
  71. <center><table>
  72. <tr>
  73. <td width='700'><br>Niniejszym oświadczam, że wyrażam zgodę na przetwarzanie moich danych osobowych w celu przeprowadzenia procesu rekrutacji (zgodnie z ustawą z dnia 29.08.1997r. o ochronie danych osobowych Dz. U. Nr 133, poz.
  74. 883).</td><br>
  75. <td><input type="checkbox" name="akcept" checked></td>
  76. </tr>
  77. <td align='center'>
  78. <tr> <input type='submit' name='submit' value='Wyslij zgłoszenie' class='button'>
  79. <td width='700'>Informujemy, że wszystkie zgłoszenia zostaną rozpatrzone i jednocześnie zastrzegamy sobie prawo do kontaktu z wybranymi osobami.<br>Wyjaśniamy również, iż niniejsze zgłoszenia przyjmowane są przed faktycznym
  80. zarejestrowaniem firmy który przewidywany jest na jesień 2014r. w celu zorientowania się w branży oraz pozyskania potencjalnych kandydatów na pracowników. Zapewniamy że żadne dane (w tym kontaktowe) nie zostaną wykorzystane w celach
  81. innych niż ew. rekrutacja.</td>
  82. </tr>
  83. </table></center>
  84. </form>
  85. </html>
  86. </form>
  87. <?
  88. }
  89. ?>

Będę wdzięczny za podpowiedź i mam nadzieję że się kwalifikuję do "przedszkola" tongue.gif
1. Jak zrobić wyskakujący komunikat w przypadku nie zaznaczenia/ wypełnienia wszystkich pól?
2. Jak zrobić polskie znaki?
3. Przede wszystkim - jak zrobić działający przycisk wysłania zgłoszenia... nie widzę nawet gdzie wprowadzić swój adres e-mail.

Przepraszam za banalne problemy i że zawracam głowę.
Turson
Cytat
2. Jak zrobić polskie znaki?

Patrz moja sygnatura

Cytat
nie widzę nawet gdzie wprowadzić swój adres e-mail

Przeczytaj jak dodać pole tekstowe
Masz słaby kod. PHP powinno wyglądać mniej więcej tak
  1. if(isset($_POST['form'])){
  2. if(!isset($_POST['akcept'])){
  3. echo "Musisz akceptować coś tam";
  4. }
  5. elseif(!empty($_POST['imie']) && !empty($_POST['miejscowosc']) && !empty($_POST['wiek']) && !empty($_POST['kontakt']) && !empty($_POST['imie'])){
  6. echo "Wszystko poszło dobrze";
  7. }
  8. else{
  9. echo "Uzupełnij wszystkie pola";
  10. }
  11. }


Popraw formularz bo masz kilka razy takie samo name
dang3r
Odświeżam temat i ponownie proszę o ocenę (zastosowałem się do wskazówek) i pomoc.
Link do wersji online: http://opiekunki.cba.pl/

  1. <head>
  2. <meta charset="utf-8"/>
  3. </head>
  4.  
  5. <?php
  6. if(isset($_POST['form'])){
  7. if(!isset($_POST['akcept'])){
  8. echo "<center><b>UWAGA! Zgłoszenie nie zostalo wyslane! <br> Musisz zaakceptować zgodę na przetwarzanie danych osobowych</center>";}
  9. elseif(!empty($_POST['imie']) && !empty($_POST['miejscowosc']) && !empty($_POST['wiek']) && !empty($_POST['kontakt']) && !empty($_POST['niemiecki']) && !empty($_POST['wyjazdy']) && !empty($_POST['prawo_jazdy'])){
  10. echo "<center><b>Zgłoszenie wysłano!</center>";
  11. }
  12. else{
  13. echo "<center><b>UWAGA! Zgłoszenie nie zostalo wyslane! <br> Musisz wypełnić wszystkie pola</center>";
  14. }
  15. }
  16. ?>
  17.  
  18. <!-- formularz -->
  19. <html>
  20. <body body bgcolor="#CCFFFF">
  21. <center><b>
  22. <span style="font-family: Verdana">
  23. <font size="4">Proszę wypełnić formularz</font></center></span>
  24.  
  25. <p><form action="<? echo $PHP_SELF; ?>" method="post"><input type="hidden" name="form" value="TRUE">
  26.  
  27. <table align='center' cellpadding='0' cellspacing='0' class='tbl'>
  28. <tr>
  29. <td width='300'><font face="Verdana" size='2'>Imię: </font> </td>
  30. <td><input type=text name=imie size="25"></td>
  31. </tr>
  32.  
  33. <tr>
  34. <td width='300'><font face="Verdana" size='2'>Miejscowość: </font> </td>
  35. <td><input type=text name=miejscowosc size="25"></td>
  36. </tr>
  37.  
  38. <tr>
  39. <td width='300'><font face="Verdana" size='2'>Wiek: </font> </td>
  40. <td><input type=text name=wiek size="25"></td>
  41. </tr>
  42.  
  43. <tr>
  44. <td width='300'><font face="Verdana" size='2'>Telefon kontaktowy lub adres e-mail:
  45. </font> </td>
  46. <td><input type=text name=kontakt size="25"></td>
  47. </tr>
  48.  
  49. <tr>
  50. <td width='300'><font face="Verdana" size='2'>Znajomość j. niemieckiego:
  51. </font> </td>
  52. <td><select name='niemiecki' style='width: 100px' value=''>
  53. <option value='0'></option>
  54. <option value='1'>nie znam</option>
  55. <option value='2'>bardzo słabo</option>
  56. <option value='3'>słabo</option>
  57. <option value='4'>średnio</option>
  58. <option value='5'>dobrze</option>
  59. <option value='6'>bardzo dobrze</option>
  60. </td></tr>
  61.  
  62. <td width='300'><font face="Verdana" size='2'>Ilość wyjazdów do Niemiec jako opiekunka:
  63. </font> </td>
  64. <td><select name='wyjazdy' style='width: 100px' value=''>
  65. <option value='0'></option>
  66. <option value='1'>0</option>
  67. <option value='2'>od 1 do 3</option>
  68. <option value='3'>od 3 do 5</option>
  69. <option value='4'>od 5 do 10</option>
  70. <option value='5'>od 10 do 20</option>
  71. <option value='6'>od 20 do 35</option>
  72. <option value='7'>od 35 do 50</option>
  73. <option value='8'>powyżej 50</option></td></tr>
  74.  
  75. <td width='300'><font face="Verdana" size='2'>Prawo jazdy kat. "B":
  76. </font>
  77. <td><select name='prawo_jazdy' style='width: 100px' value=''>
  78. <option value='0'></option>
  79. <option value='1'>brak</option>
  80. <option value='2'>tak</option>
  81. <option value='3'>nie</option>
  82. </font>
  83. </tr>
  84. </select></td></tr>
  85. </table>
  86.  
  87. <center><table>
  88. <tr>
  89. <td width='600'><font face="Verdana" size='1'><br>Niniejszym oświadczam, że wyrażam
  90. zgodę na przetwarzanie moich danych osobowych w celu przeprowadzenia procesu
  91. rekrutacji (zgodnie z ustawą z dnia 29.08.1997r. o ochronie danych osobowych
  92. Dz. U. Nr 133, poz. 883).</font></td><br>
  93. <td><input type="checkbox" name="akcept"></td>
  94. </tr>
  95.  
  96. <td align='center'>
  97. <tr> <input type='submit' name='submit' value='Wyslij zgłoszenie' class='button'>
  98. <td width='600'><font face="Verdana" size='1'>Informujemy, że wszystkie zgłoszenia zostaną rozpatrzone i jednocześnie zastrzegamy sobie prawo do kontaktu z wybranymi osobami.<br>Wyjaśniamy również, iż niniejsze zgłoszenia przyjmowane są przed faktycznym zarejestrowaniem firmy, który przewidywany jest na wiosnę 2015r. w celu zorientowania się w branży oraz pozyskania potencjalnych kandydatów na pracowników. Zapewniamy że żadne dane (w tym kontaktowe) nie zostaną wykorzystane w celach innych niż ew. rekrutacja.</font></td>
  99. </tr>
  100. </font>
  101. </table></center>
  102. </form>
  103. </body>
  104. </html>
  105. </form>


1. Na moim komputerze działają polskie znaki ale niestety na komputerze narzeczonej, ktora jest za granicą nie działa...
2. Została wg mnie najtrudniejsza i najważniejsza rzecz - jak zrobić żeby formularz faktycznie się wysłał na moją skrzynkę pocztową? Nawet nie wiem jakich słów kluczowych użyć żeby to chociaż "wygooglować".
3. Gdyby jeszcze wyskoczył komunikat w osobnym okienku informujący o wysłaniu danych lub konieczności poprawienia formularza... to by było super bo teraz pojawia się to nad banerem (nie moge tego przesunąć ale pewnie jest to dziecinnie proste) i ktoś może tego w ogóle nie zauważyć.

Pozdrawiam

EDIT:
Mam tez wersję nr 2 http://opiekunki.cba.pl/index3.php
Tutaj brakuje mi listy rozwijanej i koniecnzości zaznaczenia oświadczenia... Ale ma meila zgłoszenie idzie smile.gif


EDIT2:
Aktualna wersja: http://opiekunki.cba.pl/index2.php

Brakuje mi już TYLKO rozwijanej listy na wzór http://opiekunki.cba.pl i to by było na tyle. Pomoże ktoś?
arstherapia
A ja przepraszam, że się tak wcinam, ale bardzo polecam:

http://tangledindesign.com/how-to-create-a...5-css3-and-php/

i napisanie tego samemu, wykorzystując fragmenty powyższego kodu.

Sam ostatnio przerabiałem ten tutorial i jest bardzo fajny i przystępny, co więcej, działa smile.gif

( testowane na wirtualnym serwerze digitalocean )
dang3r
A nie szkodzi. Na pewno jest prosty dla osób znających j. angielski... smile.gif W sumie to po jakichś 12 h siedzenia przy tym w ostatnich dwóch dniach i tak jestem z siebie zadowolony jako kompletny laik php bo zrobiłem wszystko sam (wykorzystując i zmieniając gotowe kody tongue.gif więc może ktos powiedziec, ze sie nie liczy smile.gif brakuje tylko tej listy rozwijanej... której w tym tutorialu chyba też nie ma.
Pozdrawiam
arstherapia
Liczy, dla mnie się liczy:)

Zobacz tutaj:

http://www.forumweb.pl/php/formularz-i-lis...o-wczytac,28340
dang3r
Zrobione smile.gif dzięki.
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.