Case a cocher et redirection en php

Eléphant du PHP | 91 Messages

27 juil. 2009, 18:00

Bonjour,

J'ai un formulaire avec un série de case a cocher (checkbox). Si l’on coche une série de cases bien précise, on est rediriger vers une page sinon, vers une autre.


Pour la redirection, je pense utiliser
header("location:page1.php");
Mais pour le reste, je suis pommé. Quelqu'un aurait-il une idée?

Merci

Mammouth du PHP | 2937 Messages

27 juil. 2009, 18:13

Côté HTML :

Code : Tout sélectionner

<form method="post" action="url-de-traitement.php"> <p> <input type="checkbox" name="choix[]" id="choix-1" value="fromage" /> <label for="choix-1">Fromage</label> </p> <p> <input type="checkbox" name="choix[]" id="choix-2" value="dessert" /> <label for="choix-2">Dessert</label> </p> <p> <input type="submit" value="Valider les choix" /> </p> </form>
Côté PHP, une fois le formulaire soumis, la variable $_POST['choix'] récupère un tableau, avec les valeurs cochées. Un in_array() pour vérifier si une valeur figure parmi les choix sélectionnés et ça devrait le faire.
if (isset ($_POST['choix']) && !empty ($_POST['choix']))
{
  // Fromage et dessert
  if (in_array ('fromage', $_POST['choix']) && in_array ('dessert', $_POST['choix']))
  {
    header ('Location: fromage-et-dessert.php');
    exit;
  }

  // Fromage seulement
  else if (in_array ('fromage', $_POST['choix']))
  {
    header ('Location: fromage.php');
    exit;
  }

  // Dessert seulement
  else
  {
    header ('Location: dessert.php');
    exit;
  }
}
else
{
  // Instructions dans le cas où le formulaire n'est pas soumis
  // ou qu'aucune case n'a été cochée
}
Quelque chose de ce genre.