Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [html] Błędne przesłanie wartości z tablicy []
Forum PHP.pl > Forum > Przedszkole
free
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>
strife
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.
free
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
strife
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.
free
Tak własnie zmieniłem i jest jak opisalem wyzej.
Czyli poprawnie przesyla dane, ale w polu select wyskakuje wspomniany bląd.
strife
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 ?
free
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"; } ?>
strife
  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, : >
free
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.
strife
  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'.
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.