2009-03-02 4 views
2

Voici ma situation: Je construis un petit site Web où, lors de l'inscription, vous pouvez sélectionner les jours où vous êtes disponible pour quelque chose.Avoir PHP recevoir les jours où vous êtes disponible sans tonnes de variables

Mondayafternoon lundi matin Tuesdaymorning Tuesdayafternoon etc ...

Tout le chemin de sundayafternoon.

Je vérifie formellement ce cours, en PHP, et j'ai besoin de déclarer 14 variables et de passer en revue chacune d'elles pour déterminer si la case a été cochée ou non.

Maintenant, je me demande, n'y a-t-il pas un moyen plus facile? Maintenant, ce sont des cases à cocher, ce n'est pas comme lorsque vous téléchargez des fichiers que vous venez d'ajouter [] au nom atribute en HTML et ils sont téléchargés en tant que tableau.

Mais ce serait pratique. Est-ce que quelqu'un sait comment je peux obtenir quelque chose comme ça?

Répondre

10

En fait, vous pouvez simplement ajouter [] à la fin des noms, assurez-vous simplement que vous avez défini toutes leurs valeurs différemment.

<input type="checkbox" name="available[]" value="Mon AM" /> 
<input type="checkbox" name="available[]" value="Mon PM" /> 

Ensuite, il suffit boucle sur le tableau $_POST['available'] dans votre code sous forme de traitement.

+0

Je ne le savais pas. Merci. – Vordreller

1

Miser sur la réponse du Tchad, voici le code que vous utilisez pour passer par les variables:

foreach($_POST['available'] as $a) 
{ 
    //Do stuff with $a 
} 
1

Si vous êtes préoccupé par la sécurité ou la performance, et vous devriez être, peut-être vous devriez le faire aussi bien .

If (count($_POST['available']) > 14) { 

    softErrorToClient('The data you entered could not be analysed. Please try again.'); 
    // log this error... someone's being naughty 

} 
Questions connexes