Autor Zpráva
Daemonic
Profil
Dobrý den, chtěl bych se zeptat na jednu věc, mám na stránkách formulář a v něm tag <select name="neco> s 12 položkami <option> pro výběr , přičemž lze vybrat i více položek. Po odeslání formuláře se v příslušném PHP skriptu vytvoří proměnná superglobální pole $_POST[neco], kterou nahraju ve skriptu do proměnné $neco, jejíž obsah pro kontrolu vypíšu pomocí příkazu echo $neco.
Jenže proměnná $_POST[neco] obsahuje vždy jen jednu položku výběru ze <select> a to i když označím více položek. Konkrétně obsahuje vždy tu poslední označenou, takže je jasný že se přepisuje. Nevíte někdo co s tim? Předem díky za rady.
Majkl578
Profil
o multiselectu jsi neslyšel? (atribut multiple)
Alphard
Profil
<?php
if (isset ($_POST['os']))
{
  print_r ($_POST['os']);
}
?>

<form method="post">
<select name="os[]" size="3" multiple> 
<option value="win">Windows
<option value="linux" selected>Linux
<option value="unix">Unix
<option value="mac">Mac
</select>
<input type="submit">
</form>
Daemonic
Profil
no multiple tam samozřejmě nastavenej mám, to by mě nešlo označit víc věcí ,jde o to, že se do globálního pole načte jen ta poslední označená. Jdu vyzkoušet to řešení od Alphard
DoubleThink
Profil *
o multiselectu jsi neslyšel? (atribut multiple)
Počítám, že slyšel - bez tohoto atributu v selectu víc položek vybrat nejde. Ptá se, jak to udělat, aby se proměnné requestu přeložily do superglobálních polí všechny.
Dělá se to tak, jak ukázal Alphard, jako název selectu použiješ pole[].
Daemonic
Profil
to alphard: díky už to funguje :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0