Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z formularzem
Forum PHP.pl > Forum > PHP
!!_:!SnAkE!:_!!
Problem jest taki: mam formularz ktory sam w sobie zawiera skrypt sprawdzajacy czy zostaly wypelnione ządane pola. Mam drugi plik, skrypt pobierajacy dane metoda post z rzeczonego formularza. Sprawdza czy pola sa zgodne z wprowadzonymi szablonami itp. Chciałbym, zeby przy braku zgodnosci nie trzeba było wypełniac całego formularza od nowa, co jest strasznie dobijajace, lecz tylko zle wypelnione pola(nie moga one byc puste, bo wczesniej w pliku formularza sa sprawdzane). POMÓŻCIE i z góry dziękuję.
hwao
  1. <?php
  2.  
  3. echo '<input name=\"wejscie\" value=\"'.@$_POST['wejscie'].'\"/>';
  4.  
  5. ?>
chfast
exclamation.gif_:!SnAkE!:_+2005-04-14 15:18:29-->
Cytat(exclamation.gif_:!SnAkE!:_ @ 2005-04-14 15:18:29)
Problem jest taki: mam formularz ktory sam w sobie zawiera skrypt sprawdzajacy czy zostaly wypelnione ządane pola.
(...)
nie moga one byc puste, bo wczesniej w pliku formularza sa sprawdzane
(...)[/quote]
Lepiej nie ufać skryptom wykonywanym po stronie kienta. One są po to, żeby normalny użytkownik zobaczył, że popełnił błąd i nie musiał w tym celu czekać na ponowne załadowanie strony. Jednak jak ktoś złośliwy się uprze to i tak może ci wysłać puste zmienne. Radzę wykoywać sprawdzenie poprawności wypełnienia formularza również po stronie serwera.
!!_:!SnAkE!:_!!
Poprawność wypełnienia robię po stronie klienta. Działa mi metoda podpowiedziana przez kolegę wyżej, lecz tylko na polach text. Chciałbym, zeby textarea tez sie nie czyscila, albo nie kasowalo wybrane pole select. Jak to zrobic ? Z góry dziękuję za pomoc biggrin.gif
chfast
exclamation.gif_:!SnAkE!:_+2005-04-14 19:05:51-->
Cytat(exclamation.gif_:!SnAkE!:_ @ 2005-04-14 19:05:51)
Chciałbym, zeby textarea tez sie nie czyscila, albo nie kasowalo wybrane pole select. Jak to zrobic ?[/quote]
W przypadku <textarea> trzeba wstawić zawartość pomiędzy znacznik otwierający i zamykający. Jeśli chcemy wybrać jedą z opcji <select> dodajemy atrybut selected.
  1. <textarea>Domyslny napis</textarea>
  2. <option selected="selected">Opcja 1</option>
!!_:!SnAkE!:_!!
z selectem nie chce dzialac ni cholery, jak wstawiam selected, to po złym wypełnieniu formularza w polu select znajduje sie ostatnia opcja a nie wybrana. Mam pole 'plec' gdzie sa do wyboru: 1 opcja - wybierz, 2 Kob 3- Mężczyzna. i Tak czy inaczej jest męzczyzna. Co począć ?
kysiu.pl
Selekt:
  1. <?php
  2.  
  3.         $selekt_1 = ($_POST['opcja'] == &#092;"1\") ? \"selected\" : \"\";
  4.         $selekt_2 = ($_POST['opcja'] == &#092;"2\") ? \"selected\" : \"\";
  5.         $selekt_3 = ($_POST['opcja'] == &#092;"3\") ? \"selected\" : \"\";
  6.  
  7.         $option_select = &#092;"\";
  8.         $option_select .= &#092;"<option \" . $selekt_1 . \" value=\"1\">Opcja 1</option>\";
  9.         $option_select .= &#092;"<option \" . $selekt_2 . \" value=\"2\">Opcja 2</option>\";
  10.         $option_select .= &#092;"<option \" . $selekt_3 . \" value=\"3\">Opcja 3</option>\";
  11.  
  12.  
  13. ?>


  1. <? echo $option_select; ?>


pzdr.
!!_:!SnAkE!:_!!
Kurde, nie dziala mi ta ,etoda, dalej pola select sie resetuja sad.gif Co zrobic ? Na roznych stronach jak wypelnialem formularze to pola selectt tez sie kasuja wiec czy to w ogole jest mozliwe ? ohmy.gif
kysiu.pl
podaj caly kod php tej strony z formularzem
!!_:!SnAkE!:_!!
<TR><TD><FONT size="5" color="green"><I><B>Płeć*</i></B></FONT></TD><TD><SELECT name="plec">
<option>Wybierz</OPTION>
<option value="1" <?=((isset($_POST['plec']) && $_POST['plec']==1)? 'checked':'');?>>Kobieta</OPTION>
<option value="2" <?=((isset($_POST['plec']) && $_POST['plec']==2)? 'checked':'');?>>Mezczyzna</OPTION>
</SELECT></TD></TR>

Pr obowalem tez i tak, ale nie dziala. Help!
NuLL
  1. <?
  2. $plec=$_POST['plec'];
  3. if(!empty($plec)){
  4. switch($plec){
  5. case '1':
  6. $s1=' selected';
  7. break;
  8. case '2':
  9. $s2=' selected';
  10. break;
  11. }
  12. }else{
  13. $s1='';
  14. $s2='';
  15. }
  16. ?>
  17. <TR><TD><FONT size=\"5\" color=\"green\"><I><B>Płeć*</i></B></FONT></TD><TD><SELECT name=\"plec\">
  18. <option>Wybierz</OPTION>
  19. <option value=\"1\" <? echo $s1;?>>Kobieta</OPTION>
  20. <option value=\"2\" <? echo $s2; ?>>Mezczyzna</OPTION> 
  21. </SELECT></TD></TR>
  22. <?
  23. //...
  24. ?>
kysiu.pl
  1. <TR><TD><FONT size=\"5\" color=\"green\"><I><B>Płeć*</i></B></FONT></TD><TD><SELECT name=\"plec\">
  2. <option>Wybierz</OPTION>
  3. <?php
  4.  
  5.         $selekt_1 = (@$_POST['plec'] == &#092;"1\") ? \"selected\" : \"\";
  6.         $selekt_2 = (@$_POST['plec'] == &#092;"2\") ? \"selected\" : \"\";
  7.  
  8.  
  9.         $option_select = &#092;"\";
  10.         $option_select .= &#092;"<option \" . $selekt_1 . \" value=\"1\">Kobieta</option>\";
  11.         $option_select .= &#092;"<option \" . $selekt_2 . \" value=\"2\">Mezczyzna</option>\";
  12.         echo $option_select;
  13.  
  14. ?>
  15. </SELECT></TD></TR>
!!_:!SnAkE!:_!!
Kurde, Pole sie nie kasuje, wsio jest spoko, tylko jak dodaje do bazy danych, to zamiast KOBIETA dodaje się '1' a zamiast mezczyzna dodaje sie '2'... mozna jakos temu zaradzic ? Bardziej pytanie do NULL'a bo jego sposób wykorzystałem w skrypcie...
kysiu.pl
  1. <TR><TD><FONT size=\"5\" color=\"green\"><I><B>Płeć*</i></B></FONT></TD><TD><SELECT name=\"plec\">
  2. <option>Wybierz</OPTION>
  3. <?php
  4.  
  5. $selekt_1 = (@$_POST['plec'] == &#092;"kobieta\") ? \"selected\" : \"\";
  6. $selekt_2 = (@$_POST['plec'] == &#092;"mezczyzna\") ? \"selected\" : \"\";
  7.  
  8.  
  9. $option_select = &#092;"\";
  10. $option_select .= &#092;"<option \" . $selekt_1 . \" value=\"kobieta\">Kobieta</option>\";
  11. $option_select .= &#092;"<option \" . $selekt_2 . \" value=\"mezczyzna\">Mezczyzna</option>\";
  12. echo $option_select;
  13.  
  14. ?>
  15. </SELECT></TD></TR>
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.