Walidacja list rozwijanych :) obsługa błędów, atr. selected

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
zephyr7
Posty: 13
Rejestracja: pt gru 17, 2004 9:04 pm
Kontakt:

Walidacja list rozwijanych :) obsługa błędów, atr. selected

Post autor: zephyr7 »

Jeżeli chcemy aby po naciśnięciu "wyślij" użytkownik nie tracił danych, w razie popełnienia błędu, np. niewypełnienia pola, piszemy tak:

<input name="imie" value="<? echo $imie;?>" type="text" maxlength="10" />

Dzięki temu, po naciśnięciu wyślij, w polu "imie" pojawi się to, co wpisaliśmy.

A co z listami wyboru (list menu)????
Jak ustawić, która lista została wybrana?
Oczywiście, możemy ustawić atrybut selected="selected"
Ale co zrobić, żeby w razie błędów lista nie wracała do stanu początkowego (do pierwszej pozycji), tylko pokazywała to, co wybrał użytkownik?

Cała obsługa walidacji odbywa się w tym samym pliku, przy użyciu zmiennej PHP_SELF
darecki
Posty: 3
Rejestracja: pt paź 14, 2005 12:52 pm
Lokalizacja: Bydgoszcz
Kontakt:

Re: Walidacja list rozwijanych :) obsługa błędów, atr. selected

Post autor: darecki »

Proponuję przesiąść się na QuickForm czyli obsluge formularzy w PHP. tam mozesz swobodnie generowac sobie formularze oraz ich validacje, szybciej, taniej, bezstresowo, polecam...
http://pear.php.net/package/HTML_QuickForm
zephyr7
Posty: 13
Rejestracja: pt gru 17, 2004 9:04 pm
Kontakt:

Dzięki za link! Na pewno sprawdzę!

Post autor: zephyr7 »

Zaprojektowałem dość skomplikowany formularz na stronie:
http://www.taniec.lap.pl/index.php?opti ... &Itemid=38

(to na razie projekt)
Wszystko działa, ale na pewno znajdzie się tam sporo słabych punktów. Chętnie bym to sprawdzil, niestety nie znam nikogo, kto mógłby się skutecznie "włamać", albo wykryć jakieś poważniejsze błędy. Na razie cała strona jest w fazie testów i zobaczymy, jakie problemy sie pojawią!
viraptor
Zaczyna działać
Zaczyna działać
Posty: 633
Rejestracja: pn cze 28, 2004 12:58 pm
Kontakt:

Re: Walidacja list rozwijanych :) obsługa błędów, atr. selected

Post autor: viraptor »

Ale co zrobić, żeby w razie błędów lista nie wracała do stanu początkowego (do pierwszej pozycji), tylko pokazywała to, co wybrał użytkownik?
No właśnie ustawić selected:

[php]<?php
echo '<select name="lista">';
foreach($opcje as $klucz=>$opcja) {
if($klucz==$_POST['lista'])
$sel=' selected="selected"';
else
$sel='';
echo '<option'.$sel.'>'.$opcja.'</option>';
}
echo '</select>';
?>[/php]

Albo coś w ten deseń.
zephyr7
Posty: 13
Rejestracja: pt gru 17, 2004 9:04 pm
Kontakt:

mimo wszystko, wybieram pear!

Post autor: zephyr7 »

Chyba się zakocham w tych skryptach! Właśnie ściągnąłem sobie instrukcję i teraz drukarka wypluwa ją kartka po kartce. No, to teraz kawa i czytanie do trzeciej w nocy ;) Kto by pomyślał, że php doczeka się czegoś w rodzaju bibliotek z innych języków!
viraptor
Zaczyna działać
Zaczyna działać
Posty: 633
Rejestracja: pn cze 28, 2004 12:58 pm
Kontakt:

Re: Walidacja list rozwijanych :) obsługa błędów, atr. selected

Post autor: viraptor »

Doczeka???
Biblioteki php zawiera już od wersji 3, albo wcześniej.
Wszystkie są napisane w innym języku niż php.
ODPOWIEDZ