Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [html] Błędne przesłanie wartości z tablicy []
free
post
Post #1





Grupa: Zarejestrowani
Postów: 269
Pomógł: 0
Dołączył: 6.02.2006

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


W ponizszym kodzie zamiast otrymac wartosc z value otrzymuje array.
Gdzie mam błąd ?
  1. <select name="a4[]">
  2. <option value="Kawaler/Panna" <?php if (in_array("Kawaler/Panna", $_POST['a4'])) { echo " selected"; } ?>>Kawaler/Panna</option>
  3. <option value="Żonaty/Żonata" <?php if (in_array("Żonaty/Żonata", $_POST['a4'])) { echo " selected"; } ?>>Żonaty/Żonata</option>
  4. <option value="Wdowiec/Wdowa" <?php if (in_array("Wdowiec/Wdowa", $_POST['a4'])) { echo " selected"; } ?>>Wdowiec/Wdowa</option>
Go to the top of the page
+Quote Post
strife
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Pamiętaj, jeśli masz tego typu błędy o testowaniu zmiennych. Mam na myśli:

  1. <?php
  2. echo '<pre>';
  3. var_export( $_POST );
  4. echo '</pre>';
  5. ?>


A Twój błąd dotyczy, błędnego nazewnictwa zmiennej. Masz:

  1. <select name="a4[]">


A powinno być:

  1. <select name="a4">


  1. <?php
  2. echo '<pre>';
  3. var_export( $_POST['a4'] );
  4. echo '</pre>';
  5. ?>


Pozdrawiam.


--------------------
Go to the top of the page
+Quote Post
free
post
Post #3





Grupa: Zarejestrowani
Postów: 269
Pomógł: 0
Dołączył: 6.02.2006

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


Tak, tylko że jak usunę [] to mi poprawnie przesyla, ale w formularzu select wyskakuje błąd:
Warning</b>: in_array(): Wrong datatype for second argument in <b>ankieta.php</b> on line <b>9
Go to the top of the page
+Quote Post
strife
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Cytat(free @ 30.04.2007, 16:26:38 ) *
Tak, tylko że jak usunę [] to mi poprawnie przesyla, ale w formularzu select wyskakuje błąd:
Warning</b>: in_array(): Wrong datatype for second argument in <b>ankieta.php</b> on line <b>9


  1. <select name="a4">
  2. <option value="Kawaler/Panna" <?php if ("Kawaler/Panna" == $_POST['a4']) { echo " selected"; } ?>>Kawaler/Panna</option>
  3. <option value="Żonaty/Żonata" <?php if ("Żonaty/Żonata" == $_POST['a4']) { echo " selected"; } ?>>Żonaty/Żonata</option>
  4. <option value="Wdowiec/Wdowa" <?php if ("Wdowiec/Wdowa" == $_POST['a4']) { echo " selected"; } ?>>Wdowiec/Wdowa</option>
  5. </select>


Pisane z palca, ale zasadę mam nadzieję, że rozumiesz.

Pozdrawiam.


--------------------
Go to the top of the page
+Quote Post
free
post
Post #5





Grupa: Zarejestrowani
Postów: 269
Pomógł: 0
Dołączył: 6.02.2006

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


Tak własnie zmieniłem i jest jak opisalem wyzej.
Czyli poprawnie przesyla dane, ale w polu select wyskakuje wspomniany bląd.
Go to the top of the page
+Quote Post
strife
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Cytat(free @ 30.04.2007, 16:33:40 ) *
Tak własnie zmieniłem i jest jak opisalem wyzej.
Czyli poprawnie przesyla dane, ale w polu select wyskakuje wspomniany bląd.


Cytat
Tak, tylko że jak usunę [] to mi poprawnie przesyla, ale w formularzu select wyskakuje błąd:
Warning</b>: in_array(): Wrong datatype for second argument in <b>ankieta.php</b> on line <b>9


Jak może być tak jak opisałeś wyżej, skoro w poprawionym przeze mnie kodzie nie występuje ani razu in_array" title="Zobacz w manualu PHP" target="_manual ? Sprawdziłeś w ogóle mój kod ?


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





Grupa: Zarejestrowani
Postów: 269
Pomógł: 0
Dołączył: 6.02.2006

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


Moje niedopatrzenie . twój sposob dziala poprawnie
A jak to zastosowac do typu radio :
  1. <input type="radio" name="a6" value="Tak">Tak <br/>
  2. <input type="radio" name="a6" value="Nie">Nie <br/>

by sprawdzało tak jak z poprzednim przypadkiem ?
<?php if ("Tak" == $_POST['a4']) { echo " checked"; } ?>
Go to the top of the page
+Quote Post
strife
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


  1. <input type="radio" <?php if ( $_POST['a6'] == 'Tak' ) : ?>checked<?php endif; ?> name="a6" value="Tak">Tak <br/>
  2. <input type="radio" <?php if ( $_POST['a6'] == 'Nie' ) : ?>checked<?php endif; ?> name="a6" value="Nie">Nie <br/>


W ten sam sposób, : >


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





Grupa: Zarejestrowani
Postów: 269
Pomógł: 0
Dołączył: 6.02.2006

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


Działa poprawnie. Tylko brakuje by była wartość domyslna. Tzn w polu radio by było zaznaczone na starcie. Tak jak przy polu select, user ma do wyboru na starcie pierwsza wartosc.
Go to the top of the page
+Quote Post
strife
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


  1. <input type="radio" <?php if ( $_POST['a6'] == 'Tak' OR ! isset( $_POST['a6'] ) ) : ?>checked<?php endif; ?> name="a6" value="Tak">Tak <br/>
  2. <input type="radio" <?php if ( $_POST['a6'] == 'Nie' ) : ?>checked<?php endif; ?> name="a6" value="Nie">Nie <br/>


Wartość domyślna, powinna być 'Tak'.


--------------------
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: 21.08.2025 - 23:18