Tendo PHP receber os dias que você está disponível sem toneladas de variáveis

StackOverflow https://stackoverflow.com/questions/601332

  •  03-07-2019
  •  | 
  •  

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?

Foi útil?

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

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