Case a cocher et redirection en php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Case a cocher et redirection en php

par Victor BRITO » 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.

Case a cocher et redirection en php

par arkhon21 » 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