Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]formularz zgloszeniowy
fcppl
post
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 11.04.2010

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


Witam

Wiem ze pytanie jest dość smieszne, ale ja juz siedze przy tym caly dzien i stoje w miejscu. Chce zrobic formularz zgloszeniowy z polami

data kursy
termin kursy
imie
tytul zawodowy
adres
tel.
e-mail

i na dole pole do znznaczenia "wyrazam zgode...."

Chciałem zeby przed wysłaniem skrypt mogl sprawdzic poprawnosc wypelnionych pol.

Domyslam się ze jest to łatwe, ale ja jestem na tyle poczatkujacy ze nie daje sobie rady nie mowie juz o tym zeby mi ktos to zrobil, ale chociaz jakies wskazowki/przyklad.

Pozdrawiam i prosze o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


  1. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
  2.  
  3. <script type="text/javascript">
  4. $(document).ready(function(){
  5. $("input[name=submit]").attr('disabled','disabled');
  6. $("input[name=mailing]").change(function(){
  7. if ($(this).is(':checked')) {
  8. $("input[name=submit]").removeAttr("disabled");
  9. }
  10. else {
  11. $("input[name=submit]").attr('disabled','disabled');
  12. }
  13. });
  14. });
  15.  


Taki skrypt w JavaScript (jQuery) zmieni przycisk w "nieklikalny" (taki, którego nie da się kliknąć), póki ktoś nie zaznaczy tego checkboxa.
Oczywiście to tylko dodatek, ale miły dla Twoich użytkowników.

Jeśli chodzi o PHP - oczywiście też musisz sprawdzić czy zostało zaznaczone ale szczerze to za późno jest jak dla mnie żeby czytać Twój kod.
Wyprzedzając trochę Twoje oczekiwania mniemam, że te dane i tak będziesz chciał jeszcze zwalidować (obowiązkowo e-mail jak dla mnie).
Dlatego z góry radzę napisać to trochę inaczej:
- kod odpowiedzialny za walidacje
- pętla wyświetlająca błędy
- jeśli błędów == 0 to wyślij i pokaż komunikat "Wysłano"
- jeśli błędów > 0 to pokaż formularz

Kod w dużym skrócie będzie wyglądał tak:
  1. $errors = array();
  2. if (!isset($_POST[kurs])) $errors[] = 'Nie wpisałeś nazwy kursu';
  3. if (!isset($_POST[termin])) $errors[] = 'Nie wpisałeś terminu';

itd.

Błędy wyświetlasz za pomocą.:

  1. foreach($errors as $blad) {
  2. echo "<p class="blad">$blad</p> <br />";
  3. }


Sprawdzasz liczbę błędów za pomocą count.
W zależności od liczby błędów wysyłasz maila lub pokazujesz ponownie formularz (jeśli ponownie formularz to wszystkie błędy ładnie będą wyświetlone jedno po drugim). Warto dodać klase css dla tych błędów. Minimum na czerwono pokolorować. W przykładzie dałem klasę "blad".
Go to the top of the page
+Quote Post

Posty w temacie


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: 30.12.2025 - 04:51