Strona 1 z 1

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

: ndz wrz 25, 2005 8:23 pm
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

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

: pt paź 14, 2005 1:09 pm
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

Dzięki za link! Na pewno sprawdzę!

: pt paź 14, 2005 1:27 pm
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ą!

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

: pt paź 14, 2005 3:11 pm
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ń.

mimo wszystko, wybieram pear!

: pt paź 14, 2005 3:22 pm
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!

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

: pt paź 14, 2005 3:49 pm
autor: viraptor
Doczeka???
Biblioteki php zawiera już od wersji 3, albo wcześniej.
Wszystkie są napisane w innym języku niż php.