2009-01-09 22 views
14

que estoy tratando de publicar una serie completa de casillas de verificación y para abrirlo en la página siguiente ..matriz de publicar en PHP

Sólo me da el último resultado, alguien sabe por qué? ¿O como arreglarlo?

<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"> 

y no importa cuántos seleccione, solo se obtiene un resultado en la página siguiente. $ day = sizeof ($ _ POST ['day']);

solo da '1' respuesta. Y cuando los lleve a la siguiente página, querré poder seleccionarlos por separado.

Gracias!

Respuesta

31

PHP hará únicamente de forma automática un valor de POST en una matriz si termina en [].

Así que debe tener name="day[]" en lugar de solo name="day".

(Tenga en cuenta que esto funciona para cualquier valor de POST, y también con matrices asociativas en lugar de sólo incremento automático - que puede hacer name="foo[bar]", y se obtendría $_POST['foo']['bar'] ...)

7

La razón por la que solo obtiene un resultado es porque está publicando varios campos con el mismo nombre, por lo que, de manera predeterminada, el último sobrescribe todos los anteriores. Trate de crear una matriz en el código HTML siguiente manera:

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" /> 

y así sucesivamente en la lista ...