Tendo PHP receber os dias que você está disponível sem toneladas de variáveis
Pergunta
Aqui está a minha situação:. Estou construindo um pequeno site onde, quando registring, você pode selecionar quais os dias que você está disponível para algo
Mondaymorning Mondayafternoon Terça-feira de manhã Terça feira à tarde etc ...
Todo o caminho até sundayafternoon.
Estou formchecking este offcourse, em PHP, e eu preciso declarar 14 variáveis ??e passar por cima de cada um para determinar wheter ou não a caixa de seleção foi clicado.
Agora eu estou pensando, não existe uma maneira mais fácil? Agora, estes são caixas de seleção, não é como quando os arquivos de upload que você acabou de adicionar [] para o atribute nome em HTML e eles se carregado como uma matriz.
Mas isso seria útil. Alguém sabe como posso obter algo como isso vai parar?
Solução
Na verdade, você pode apenas adicionar []
ao final dos nomes, apenas certifique-se que você defina todos os seus valores de forma diferente.
<input type="checkbox" name="available[]" value="Mon AM" />
<input type="checkbox" name="available[]" value="Mon PM" />
Em seguida, basta loop sobre a matriz $_POST['available']
em seu código de processamento de formulário.
Outras dicas
Com base na resposta do Chade, aqui está o código que você usaria para percorrer as variáveis:
foreach($_POST['available'] as $a)
{
//Do stuff with $a
}
Se você está preocupado com a segurança ou desempenho, e você deve ser, talvez você deve fazer isso também.
If (count($_POST['available']) > 14) {
softErrorToClient('The data you entered could not be analysed. Please try again.');
// log this error... someone's being naughty
}