Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Obsluga pola wyboru w formularzu, problem z wykonaniem
ppsi
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 16.07.2005

Ostrzeżenie: (10%)
X----


Witam

Jestem w trakcie robienia formularza i napotkałem się na taki problem którego nie potrafię sam rozwiązać.
A wieć mam zrobione pole manu do wyboru województwa oto kod w HTML:
Kod
Wojewodztwo: <br>
<select name="wojewodztwo" > <option  value="brakwojewodztwa"> <option  value="wielkopolskie">wielkopolskie <option  value="podkarpackie">podkarpackie <option  value="malopolskie">malopolskie <option  value="zachodniopomorskie">zachodniopomorskie </select>

Chce aby zrobić kiedy użytkownik wybieże odpowienie wojewodztwo zostanie wyswietlone raz jeszcze cale pole menu z wojewodztwami lecz bedzie zaznaczone pole ktore wybrał użytkownik. Oczywiście wyszystko w php.Jak coś takiego zrobic? prosze o pomoc.Pozdrawiam cale forum.papaptki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
gladiror
post
Post #2





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

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


Mi się wydaje, ze najlepiej to zrobić wysyłając zmienną z nazwa wojewodztwa zaznaczonego. Później robisz skrypt, który będzie segregował nazwy województw... Chodzi o to, żeby jako pierwsze ustawial nazwe wybranego województwa, a później żeby skrypt dodawał nastepne nazwy....


--------------------
"Państwo to ja" Ludwik XIV
"Wróg zaatakuje to co kochasz" Ojciec Chrzestny
"Wszystko powinno być proste jak to tylko możliwe, ale nie prostsze..." A. Einstein
"Wyobraźnia jest ważniejsza niż wiedza" Albert Einstein
"Nieprawda powtarzana wielokrotnie staje się prawdą"
Go to the top of the page
+Quote Post
ppsi
post
Post #3





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 16.07.2005

Ostrzeżenie: (10%)
X----


Dzieki za odpowiedz niestety nie mam pojecia jak to wykonac w praktyce poniewz jestem zupelnie poczatkujacy. Czy pokaze mi ktos jak powinien wygladac do tego kod? z gory dziekuje i pozdrawiam
Go to the top of the page
+Quote Post
mike
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Pisane z palca (w poniedziałek rano winksmiley.jpg ), więc mógł wkraść się błąd tongue.gif

  1. <?php
  2.  
  3. $intSelected = ( empty( $_POST[ 'wojewodztwo' ] ) ) ? 0 : $_POST[ 'wojewodztwo' ];
  4.  
  5. $arrDistricts = array( 0 => 'Brak', 1 => 'Małopolskie', 2 => 'Kazowieckie', 3 => 'i tak dalej' );
  6.  
  7. ?>
  8.  
  9. <select name="wojewodztwo" >
  10.  
  11. <?
  12.  
  13. foreach( $arrDistricts as $intKey => $strValue )
  14. {
  15. $strOption = '<option value="' . $intKey . '"';
  16. if( $intKey == $intSelected )
  17. {
  18. $strOption .= ' selected="selected"';
  19. }
  20. $strOption .= '>' . $strValue . '</option>';
  21.  
  22. echo $strOption;
  23.  
  24. }
  25.  
  26. ?>
  27.  
  28. </select>
Go to the top of the page
+Quote Post
ppsi
post
Post #5





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 16.07.2005

Ostrzeżenie: (10%)
X----


hejak dzieki za kodzik co prawda nie wyskoczyl zaden blad ale nie dziala to kurcze poprawnie. Juz mowie co sie dzieje .Obojetnie jakie zostanie wybrane wojewodztwo po nacisnieciu wyślij zawsze wyskakuje zaznaczone brakwojewodztwa czyli brak , obojetnie co wybiore wcześniej zawsze po wyslaniu jest zaznaczone brakwojewodztwa.Hmmm trzeba było by pewnie troszke dopracować ten srypt.Ma ktoś jakiś pomysł? z góry dziekuje i pozdrawiam całe forum papaptki
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




aczy ty wogole do formualrza podpiales? He? Bo to co opisujesz to wyglada jakbys tego nie zrobil lub zrobiles zle.

  1. <?php
  2.  
  3. $intSelected  = ( empty( $_POST[ 'wojewodztwo' ] ) ) ? 0 : $_POST[ 'wojewodztwo' ];
  4.  
  5. $arrDistricts = array( 0 => 'Brak', 1 => 'Małopolskie', 2 => 'Kazowieckie', 3 => 'i tak dalej' );
  6.  
  7. ?>
  8. <form method="post">
  9. <select name="wojewodztwo" >
  10.  
  11. <?
  12.  
  13. foreach( $arrDistricts as $intKey => $strValue )
  14. {
  15.     $strOption = '<option  value="' . $intKey . '"';
  16.     if( $intKey == $intSelected )
  17.     {
  18.         $strOption .= ' selected="selected"';
  19.     }
  20.     $strOption .= '>' . $strValue . '</option>';
  21.  
  22.     echo $strOption;
  23.  
  24. }
  25.  
  26. ?>
  27. </select>
  28. <input type="submit" value="asd" />
  29.  
  30.  
  31. </form>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ppsi
post
Post #7





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 16.07.2005

Ostrzeżenie: (10%)
X----


Tak nospor mam zrobione caly formularz w HTML wyglada tak:
Kod
<form name="formularz" method="post" action="mail.php">

...
Kod
Wojewodztwo: <br>
<select name="wojewodztwo" > <option  value="brakwojewodztwa"> <option  value="wielkopolskie">wielkopolskie <option  value="podkarpackie">podkarpackie <option  value="malopolskie">malopolskie <option  value="zachodniopomorskie">zachodniopomorskie </select><br>

...
Kod
<input type="submit" name="submit" value="wyślij">
<input type="reset" name="reset" value="od nowa">

</form

Tak w skrucie wyglada kod HTML
Natomiast php tak:
  1. <?
  2. if (empty($_POST['imie'])  || empty($_POST['nazwisko'])  ||  empty($_POST['miasto']) || empty($_POST['kod1'])   ||   empty($_POST['kod2'])  || empty($_POST['ulica'])  || empty($_POST['nrdomu']) || empty($_POST['nrmieszkania'])  || empty($_POST['rok']) || empty($_POST['dzien'])  || empty($_POST['kierunkowy']) || empty($_POST['nrtel']) || empty($_POST['email'])  || empty($_POST['kolor'])  || empty($_POST['regulamin'])  ||  empty($_POST['piosenkarze'])   ||  ($_POST['wojewodztwo'] ==  'brakwojewodztwa' )  || ($_POST['miesiac'] ==  'brakmiesiaca' )   || $_POST['komentarz']==""    )
  3. {
  4. echo '<form name=form method=post action=mail.php>';
  5. echo 'Nie wypełniłe&para; wszystkich pól formularza... uzupełnij brakuj&plusmn;ce pola<br>';
  6. }
  7. else
  8. {
  9. echo '<form name=form method=post action=mail.php>';
  10. }
  11.  
  12. ?>

...
  1. $intSelected  = ( empty( $_POST[ 'wojewodztwo' ] ) ) ? 0 : $_POST[ 'wojewodztwo' ];
  2.  
  3. $arrDistricts = array( 0 => '', 1 => 'wielkopolskie', 2 => 'podkarpackie', 3 => 'malopolskie', 4 => 'zachodniopomorskie' );
  4.  
  5. ?>
  6. <form method="post">
  7. <select name="wojewodztwo" >
  8.  
  9. <?
  10.  
  11. foreach( $arrDistricts as $intKey => $strValue )
  12. {
  13.     $strOption = '<option  value="' . $intKey . '"';
  14.     if( $intKey == $intSelected )
  15.     {
  16.         $strOption .= ' selected="selected"';
  17.     }
  18.     $strOption .= '>' . $strValue . '</option>';
  19.  
  20.     echo $strOption;
  21.  
  22. }
  23. ?>
  24. </select>
  25. <?

Tak to wyglada w skrucie w miejscach ... wiadomo jest dalsza cześć kodu której nie podałem ze wzgledu na dużą niepotrzebą ilość kodu. NOSPOR problem nadal ten sam.Kiedy wybiore w formularzu HTML wojewodztwo zrobie wyslij formularz sie przeladuje odpali sie mail.php i wyskocza wszystkie pola wlacznie z wojewodztwami w którym powinno być zaznaczone pole które wcześniej użytkownik wybrał.Natomiast efekt jest taki że obojetnie co zostanie wybrane w formularzu HTML po wysłaniu wyskakuje zawsze brakwojewodztwa. Cos chyba trzeba było by poprawić.Zrobiłem nospor nawet to co podałeś i efekt ten sam niepoprawny.Prosze o pomoc w rozwiązaniu tego problemu.Z góry WAM dzieki i POZDRÓWKA

Ten post edytował ppsi 19.09.2005, 11:32:09
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Kod, który ci podałem, który zresztą byl modyfikacją kodu mike_mech działa i pod operą i pod IE. Może cos źle go wkleiles.
(ups - pomylilem /select z /form kolejnoscią. juz poprawilem. pisalem na szybko)

Pozatym u Ciebie w kodzie widzę pewną niekonsekwnecje:

  1. <?php
  2.  
  3. //...
  4. else
  5. {
  6. echo '<form name=form method=post action=mail.php>';
  7. }
  8.  
  9. ?>

co oznacza ze gdy nie wypelni ktos wszytkich pol formularza, to ty form nie tworzysz, co juz jest bledem


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ppsi
post
Post #9





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 16.07.2005

Ostrzeżenie: (10%)
X----


dzieki nospor bardzo możliwe sam to kombinowałem a że jestm poaczatujacy to mogłem przekombinować. Mój poacztek skryptu wyglada tak w php :
  1. <?
  2. if (empty($_POST['imie']) || empty($_POST['nazwisko']) || empty($_POST['miasto']) || empty($_POST['kod1'])  ||  empty($_POST['kod2']) || empty($_POST['ulica']) || empty($_POST['nrdomu']) || empty($_POST['nrmieszkania']) || empty($_POST['rok']) || empty($_POST['dzien']) || empty($_POST['kierunkowy']) || empty($_POST['nrtel']) || empty($_POST['email']) || empty($_POST['kolor']) || empty($_POST['regulamin']) || empty($_POST['piosenkarze'])  || ($_POST['wojewodztwo'] == 'brakwojewodztwa' ) || ($_POST['miesiac'] == 'brakmiesiaca' )  || $_POST['komentarz']=="" )
  3. {
  4. echo '<form name=form method=post action=mail.php>';
  5. echo 'Nie wypełniłe&para; wszystkich pól formularza... uzupełnij brakuj&plusmn;ce pola<br>';
  6. }
  7. else
  8. {
  9. echo '<form name=form method=post action=mail.php>';
  10. }
  11.  
  12. ?>

Nie wiem czy jest dobrze zapisane ale powiem może co chciałem uzyskać. Jeśli powyższe pola nie zostana wypelnione (które kolwie z nich lub wszystkie) wtedy twożymy formularza i wyskokuje kominikat "nie wszystkie pola zostały wypełnione" .Else miało znaczyć ze jeśli wszystkie pola będa wypełnione wtedy również twożymy formularz lecz komunikat nie wyskauje. Pewnie zle coś zapisałem wogle wydaje mi sie ten zapis jakoś mało prymitywny. Nospor według Ciebie jak to powinnienem zapisac? Dzieki bardzo nospor niech moc będzie z TOBA.papaptki
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No faktycznie nie zauwazylem, że ty i w if i w else dajesz te form. No ale niepotzrebnie skoro to za kazdym razem ma byc.
Ajak ma wygladac, no tak jak pisalismy wczesniej

  1. <?
  2. if (tu te twoje warunki z uwzgledniem czy wogole forumalrz wyslano)
  3. {
  4. echo 'Nie wypełniłe&para; wszystkich pól formularza... uzupełnij brakuj&plusmn;ce pola<br>';
  5. }
  6. elseif (formualrzwyslano i ok)
  7. {
  8.    echo 'wypelniles wszytko teraz jakas akcja';
  9. }
  10. $intSelected  = ( empty( $_POST[ 'wojewodztwo' ] ) ) ? 0 : $_POST[ 'wojewodztwo' ];
  11.  
  12. $arrDistricts = array( 0 => 'Brak', 1 => 'Małopolskie', 2 => 'Kazowieckie', 3 => 'i tak dalej' );
  13.  
  14. ?>
  15. <form method="post">
  16. <select name="wojewodztwo" >
  17.  
  18. <?
  19.  
  20. foreach( $arrDistricts as $intKey => $strValue )
  21. {
  22.     $strOption = '<option  value="' . $intKey . '"';
  23.     if( $intKey == $intSelected )
  24.     {
  25.         $strOption .= ' selected="selected"';
  26.     }
  27.     $strOption .= '>' . $strValue . '</option>';
  28.  
  29.     echo $strOption;
  30.  
  31. }
  32.  
  33. ?>
  34. </select>
  35. <input type="submit" value="asd" />
  36.  
  37.  
  38. </form>

No i oczywiscie dodaj akcje, ze gdy ktos wypelnil wszystko to cos ma sie zrobic


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ppsi
post
Post #11





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 16.07.2005

Ostrzeżenie: (10%)
X----


Dziala Panie i Panowie dziekuje bardzo za pomoc wielka pozdrowka dla mike_mech oraz NOSPORA i calego forum papaptki

Ten post edytował ppsi 19.09.2005, 15:33:11
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 Aktualny czas: 19.08.2025 - 06:33