Ankieta - problem. PHP?


(Dubiel Katarzyna) #1

Proszę o pomoc. Robię ankietę.

Potrzebuję zrobić zastrzeżenie, że w razie nie wypełnienia "któregokolwiek" pola, pojawi się ostrzeżenie na górze/ na dole strony (obojętnie), że nie wypełniłeś wszystkich pól, i dlatego przycisk DALEJ, nie pozwoli przejść do udzielania odpowiedzi na następnych kilka pytań.

Strony są w *.php.


(Lisek) #2

Tak więc jeśli pomoc, to proponuje zainteresować się przydatnymi funkcjami:

Ewentualnie można dodać jeszcze skrypty JavaScript, tak, żeby wstępne sprawdzenie następowało po stronie klienta. Oczywiście potem na wszelki wypadek lepiej jeszcze sprawdzić po stronie serwera.


(Dubiel Katarzyna) #3
<? 

	function sprawdz($odpowiedz1, $odpowiedz2, $odpowiedz3, $odpowiedz4)	

	{

	if (isset($odpowiedz1) && isset($odpowiedz2)&& isset($odpowiedz3)&& isset($odpowiedz4))

		?> 
;

	<? 

	if (!isset($odpowiedz1) || !isset($odpowiedz2) || !isset($odpowiedz3) || !isset($odpowiedz4))

	echo "nie zaznaczyłeś wszystkich odowiedzi";

		}

	?>

Próbuję zgodnie z sugestią, jednak absolutnie nie mam pewności czy w ogóle dobrze myślę. Proszę o pomoc. W powyższym układzie nie wyświetla mi się przycisk "Dalej"...


(Droop) #4

zamiast tego 2giego ifa (w ktorym masz blad bo ! zaprzeczasz tylko 1 wartosc !isset($odpowiedz1) mozesz dodac tam nawias ) daj else :slight_smile: czyli

<?

   function sprawdz($odpowiedz1, $odpowiedz2, $odpowiedz3, $odpowiedz4)   

   {

   if (isset($odpowiedz1) && isset($odpowiedz2)&& isset($odpowiedz3)&& isset($odpowiedz4)) echo '';


       else echo "nie zaznaczyłeś wszystkich odowiedzi";

   }

?>

jednak ja bym proponowal do walidacji uzyc javascript i zrobic cos takiego


(Lisek) #5

Walidacja po stronie klienta może być co najwyżej dodatkiem, bo co się stanie jeśli zablokuje w przeglądarce obsługę JavaScript i puszę jakiego baboka?


(Airborn) #6

chwila chwila, co to w ogóle ma być? walidacja polega chyba na sprawdzeniu czy pola WYSŁANE przez formularz są nie puste. w takim razie jaki sens ma umieszczanie submit wewnątrz if skoro ten if nigdy nie będzie miał prawa się wykonać? (bo zmienne nie będą mogły zostać przesłane)

Jasminodies formularz zostawiasz tak jak miałeś, walidację robisz dopiero w dokumencie gdzie dane te są przesłane, nie wiem co ma tam być z nimi robione potem, ale przykładowo, robisz walidację i albo zapisujesz dane do bazy albo zwracasz błąd