Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] walidacja pola radio przy wysyłaniu jako POST
!*!
post 25.06.2008, 01:24:37
Post #1





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Wszytko mam w jednym pliku, formularz i walidacje...
  1. <?php
  2. ...
  3. $login = stripslashes(htmlspecialchars(trim($_POST[login])));
  4.  
  5. echo '
  6. <label class="flabel" for="login">Login:</label>
  7. <input id="login" type="text" class="fs" name="login" value="'.$_POST[login].'" maxlength="25" />
  8. ';
  9. ?>


po wysłaniu, albo przeładowaniu w input widoczny jest wpisany login, i to wszytko działa w innych polach, nie wiem tylko jak sobie poradzić z radio..


  1. <?php
  2. <label class="flabel" >Płeć:</label>
  3. <input id="kobieta" name="plec" type="radio" '.$_POST[plec].' value="kobieta" />
  4. <label for="kobieta">Kobieta</label>
  5.  
  6. <input id="mezczyzna" name="plec" type="radio" '.$_POST[plec].' value="mezczyzna"/>
  7. <label for="mezczyzna">Mężczyzna</label>
  8. ?>


Jakie powinno być prawidłowe sprawdzenie, zapamiętanie które pole zostało zaznaczone po przeładowaniu/wysłaniu strony?


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
wipo
post 25.06.2008, 05:00:31
Post #2





Grupa: Zarejestrowani
Postów: 856
Pomógł: 19
Dołączył: 30.08.2005
Skąd: 100lica

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


  1. <? ?>
  2. <label class="flabel" >Płeć:</label>
  3. <input id="kobieta" name="plec" type="radio" <? if ($_POST[plec]=='kobieta') print ' checked ';?> value="kobieta" />
  4. <label for="kobieta">Kobieta</label>
  5.  
  6. <input id="mezczyzna" name="plec" type="radio" <? if ($_POST[plec]=='mezczyzna') print ' checked ';?> value="mezczyzna"/>
  7. <label for="mezczyzna">Mężczyzna</label>

pola checkbox i radio jak chcesz zaznaczyc to muszą miec parametr checked


--------------------
Go to the top of the page
+Quote Post
piotrekkr
post 25.06.2008, 08:48:00
Post #3





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


Aby było zgodne z xHTML powinien być atrybut
  1. checked="checked"
w radio. To tak w kwesti ścisłości smile.gif
Go to the top of the page
+Quote Post
!*!
post 25.06.2008, 09:56:23
Post #4





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


To zrobiłem coś takiego:

  1. <?php
  2. $radio = $_POST[plec]; 
  3.  
  4. if (isset($_POST[sprawdz]))
  5. { 
  6. if ($radio =='kobieta') {
  7. $errorradio = "checked";
  8. }
  9.  
  10. if ($radio =='mezczyzna') {
  11. $errorradio2 = "checked";
  12. }
  13.  
  14. if (empty($radio)) { 
  15. $error=1; 
  16. $errorradio3 = "<div class='error'>Wypełnij jakieś pole</div>"; 
  17. }
  18. }
  19.  
  20. echo '
  21.  
  22. <label class="flabel" >Płeć:</label>
  23. <input id="kobieta" name="plec" type="radio" '.$errorradio.' value="kobieta" />
  24. <label for="kobieta">Kobieta</label>
  25.  
  26. <input id="mezczyzna" name="plec" type="radio" '.$errorradio2.' value="mezczyzna"/>
  27. <label for="mezczyzna">Mężczyzna</label>
  28. '.$errorradio3.'
  29.  
  30. ';
  31. }
  32. ?>


Jednak nie jestem przekonany czy takie rozwiązanie jest dobre...


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 02:04