Pergunta

Eu estou tentando postar uma gama completa de caixas de seleção e para abri-lo na próxima página ..

Ele só me dá o último resultado, ninguém sabe por quê? ou como corrigi-lo?

<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 não importa quantos você selecioná-lo só dá um único resultado na próxima página. $ Dia = sizeof ($ _ POST [ 'dia']);

sempre apenas dá resposta '1'. E quando eu levá-los para a próxima página eu quero ser capaz de selecionar-los separadamente.

Obrigado!

Foi útil?

Solução

PHP vai fazer apenas automaticamente um valor POST em uma matriz se ele termina em [].

Então, você precisa ter name="day[]" em vez de apenas name="day".

(Note que isso funciona para qualquer valor POST, e também com matrizes associativas em vez de apenas auto-incrementando - você pode fazer name="foo[bar]", e você deseja obter $_POST['foo']['bar'] ...)

Outras dicas

A razão que você está recebendo apenas um resultado é porque você está postando vários campos com o mesmo nome assim por padrão o último substitui todos os anteriores. Tente criar uma matriz no seu HTML assim:

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 assim por diante para baixo na lista ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top