Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wiadomość, gdy nie wszystkie pola zostąły uzupełnione.
Forum PHP.pl > Forum > Przedszkole
Adam Jaworski
Otóż mam takie pytanie.

dajmy na to mamy formularz, co zrobić by można było wpisywać ino cyfry, i jak wcisnę np wyślij, a nie wszystkie pola są zapełnione, wywalało komunikat o tym że nie wszystkie pola zostały uzupełnione.

Próbowałem sam to zrobić, lecz się nie udało ;/

  1. <?php
  2. $do_uzbierania = $_POST['do_uzbierania'];
  3. $datki = $_POST['datki'];
  4. $zostalo_do = $do_uzbierania - $datki;
  5.  
  6. if (empty($do_uzbierania, $datki))
  7. {
  8. echo 'Nie wpisałeś wszystkich warosci'
  9. }
  10. elseif
  11. {
  12. echo '<center><span style="color:green;"><b> Potrzebujemy '.$do_uzbierania.'zł</br> Uzbieraliśmy '.$datki.' zł</br>
  13. Pozostało '.$zostalo_do.'zl</b></span></center>';
  14. }
  15. ?>



Aha, przy okazji można sprawdzić to na
mybbsites.xaa.pl. tam testuje swoje skrypty, a raczej ten jeden skrypt. (to nie reklama, )
kadlub

if (!empty($do_uzbierania, $datki))
a tak zobacz
Adam Jaworski
Niestety nie działa, dalej wywala błąd w 6 linii, czyli w tej z

  1. if (!empty($do_uzbierania, $datki))
kadlub
if (empty($do_uzbierania) or empty($datki)){
Adam Jaworski
Ehm, dziwne, teraz mi pisze że mam złą linijkę 11, a tam jest {

  1. <?php
  2. $do_uzbierania = $_POST['do_uzbierania'];
  3. $datki = $_POST['datki'];
  4. $zostalo_do = $do_uzbierania - $datki;
  5.  
  6. if (empty($do_uzbierania) or empty($_POST['$datki']))
  7. {
  8. echo 'Nie wpisałeś wszystkich wartosci';
  9. }
  10. elseif
  11. {
  12. echo '<center><span style="color:green;"><b> Potrzebujemy '.$do_uzbierania.'zł</br> Uzbieraliśmy '.$datki.' zł</br>
  13. Pozostało '.$zostalo_do.'zl</b></span></center>';
  14. }
  15. ?>
sada
spróbuj
if (empty($_POST['do_uzbierania'], $_POST['datki']))


lub


  1. if (empty($_POST['do_uzbierania']) or empty($_POST['$datki']))
kadlub
nie dałeś średnika
Adam Jaworski
hmm, średnika, ale w 11 linijce, gdzie ten średnik mam daćquestionmark.gif
kadlub
  1. echo 'Nie wpisałeś wszystkich warosci';


tak powinno być
Adam Jaworski
eh, no i tak jest. Mi chodzi o linijkę 11.
kadlub
daj zamiast elseif samo else
Adam Jaworski
Działa!!, dziękuje ci bardzo smile.gif. eh, jak będę miał inne pytania, to napisze biggrin.gif. Dostajesz pomógł

Aha, i jeszcze jedno pytanie, zawarte w temacie.
Co zrobić by można było wpisywać lidzby?? chyba ze się nie da:)(
Prezi2907
  1. <?php
  2. $do_uzbierania = $_POST['do_uzbierania'];
  3. $datki = $_POST['datki'];
  4. $zostalo_do = $do_uzbierania - $datki;
  5.  
  6. if (empty($do_uzbierania) || empty($_POST['$datki']))
  7. {
  8. echo 'Nie wpisałeś wszystkich wartosci';
  9. }
  10. else if (!empty($do_uzbierania) && !empty($datki))
  11. {
  12. if (preg_match("^[0-9]+(\,[0-9]{1,2})?$" , $do_uzbierania)) //sprawdzasz czy są same cyfry bez spacji i innych znaków niż "," i dwóch cyfr po przecinku
  13. {
  14. if (preg_match("^[0-9]+(\,[0-9]{1,2})?$" , $datki))
  15. {
  16. echo '<center><span style="color:green;"><b> Potrzebujemy '.$do_uzbierania.'zł</br> Uzbieraliśmy '.$datki.' zł</br>
  17. Pozostało '.$zostalo_do.'zl</b></span></center>';
  18. }
  19. else
  20. {
  21. echo 'W polu datki powinieneś podać same cyfry z maksymalnie dwoma miejscami po przecinku';
  22. }
  23. }
  24. else
  25. {
  26. echo 'W polu do uzbierania powinieneś podać same cyfry z maksymalnie dwoma miejscami po przecinku';
  27. }
  28. }
  29. ?>


Jeżeli się trochę pomylę w tym kodzie to sprawdź sobie coś o wyrażeniach regularnych w PHP. Dla każdego języka się troszkę zmienia ich formula ale sądzę że dobrze wpisałem... Wszystko masz opisane chyba na tyle że ogarniesz... Wklej ten kod i powinno działać dobrze...

Aha i możesz wpaść przy wyrażeniach regularnych w PHP na funkcję ereg() ale nie stosuj jej bo z tego co wyczytałem gdzieś w dokumentacjach przygotowywanych do php 6 ma ta funkcja zniknąć i cała sprawa ma być przełożona na preg_match() .
W php5 zostawiono tą funkcję ponieważ duża część starych skryptów była pisana pod ereg() i nie chcieli wymuszać zmiany tych funkcji na preg_matc() przez programistów w swoich skryptach, no ale to tak na marginesie....
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.