Domanda

Sto cercando di pubblicare un array pieno di caselle di controllo e di aprirlo nella pagina successiva ..

Mi dà solo l'ultimo risultato, qualcuno sa perché? o come risolverlo?

<form name="input" action="createevent.php" method="post">

Event title: 
<input type="text" name="Eventtitle" size="20">
<br>Event Description 
<input type="text" name="Description" size="20">
<br>
Please select the days that you are free to arrange this meeting.<br>
Monday
<input type="checkbox" name="day" value="Monday" />
<br />
Tuesday
<input type="checkbox" name="day" value="Tuesday" />
<br />
Wednesday
<input type="checkbox" name="day" value="Wednesday" />
<br />
Thursday
<input type="checkbox" name="day" value="Thursday" />
<br />
Friday
<input type="checkbox" name="day" value="Friday" />
<br />
Saturday
<input type="checkbox" name="day" value="Saturday" />
<br />
Sunday
<input type="checkbox" name="day" value="Sunday" />
<br /><br />
<input type="submit" value="Submit">

e indipendentemente dal numero selezionato, viene visualizzato un solo risultato nella pagina successiva. $ day = sizeof ($ _ POST ['day']);

dà sempre e solo una risposta "1". E quando li porterò alla pagina successiva, vorrò essere in grado di selezionarli separatamente.

Grazie!

È stato utile?

Soluzione

PHP inserirà automaticamente un valore POST in un array solo se termina in [] .

Quindi devi avere name = " day [] " anziché solo name = " day " .

(Nota che questo funziona con qualsiasi valore POST e anche con array associativi anziché solo con auto-incremento: puoi fare name = " foo [bar] " e tu ' d get $ _POST ['foo'] ['bar'] ...)

Altri suggerimenti

Il motivo per cui stai ottenendo un solo risultato è perché stai pubblicando più campi con lo stesso nome, quindi per impostazione predefinita l'ultimo sovrascrive tutti i precedenti. Prova a creare un array nel tuo HTML in questo modo:

Monday
<input type="checkbox" name="day[]" value="Monday" />
<br />
Tuesday
<input type="checkbox" name="day[]" value="Tuesday" />
<br />
Wednesday
<input type="checkbox" name="day[]" value="Wednesday" />

e così via in basso nell'elenco ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top