traiter formulaire et checkbox

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 : traiter formulaire et checkbox

par Truc » 16 mai 2006, 23:34

il y a aussi un petit tuto dans la FAQ très utile :wink:

par Ryle » 16 mai 2006, 11:31

De manière un petit peu plus précise, pour chaque champ tu récupères quelque chose de la forme : NomDuChamp => ValeurDuChamp

Pour une case à cocher, la valeur de celle-ci n'est envoyée que si celle-ci est cochée. Ainsi tu peux effectivement utiliser isSet pour savoir si elle a été passée ou non.

Si ta ckeckbox ne contient pas l'attribut value, la valeur retournée par défaut lorsque celle-ci est cochée est "on", sinon c'est la valeur spécifiée qui est utilisée.
Si tu laisse l'attribut value à vide, alors la valeur associée quand la case est cochée sera vide. La seule manière de tester si la case est cochée est de vérifier si elle est définie dans $_POST ou $_GET.

par charabia » 16 mai 2006, 11:25

Pour ce que tu veux faire, il te suffit de détecter si la variable existe avec isset() :
if(isset($_POST['assistera'])) echo "assistera";
if(isset($_POST['representepar'])) echo "repre";
if(isset($_POST['assisterapas'])) echo "assistera pas";

par jojolapine » 16 mai 2006, 11:17

je vais te répondre en général...
si tu as un formulaire:
<form method="post" action="traitement.php">
<input type="..." name="nom" />
<input type="submit" value="envoyer" />
</form>
la méthode pour récupérer les valeures des champs est la suivante:
<?php
if (isset($_POST['nom'])){
   $nom=$_POST['nom'];
}
//si la méthode de ton form et get, tu remplace POST par GET
//tu peux aussi tester si la variable est non vide, sinon ça veut dire que
//l'utilisateur n'a pas rempli le champ.
//pour ce faire tu remplace if (isset($_POST['nom'])) par 
//if (isset($_POST['nom']) && $_POST['nom']!="")
?>
voila j'espère que ça répond à la question?

traiter formulaire et checkbox

par une novice » 16 mai 2006, 11:00

Bonjour à tous,

Je viens de créer une formulaire avec des champs "nom" e-mail"...avec ça pas de problème !
Là où ça se complique c'est pour récupérer les données des cases à cocher.

Code : Tout sélectionner

<input type="checkbox" name="assistera" value=""> assistera<br> < input type="checkbox" name="representepar" value=""> ne pourra pas assister mais sera repr&eacute;sent&eacute;(e) par <input name="represente" type="text" value="" size="35"> <br> <input type="checkbox" name="assisterapas" value=""> n'assistera pas </strong></p>
en php, comment fait-on pour récupérer les infos...savoir quelle case a été cochée ??
<?php

$destinataire = "[email protected]";
if ($assistera == 1)
	{
	$message .= "assistera \n";
	echo "Assistera\n";
	}
if ($representepar == 1)
	{
	$message .= "sera represente par : $represente \n";
	echo "Représenté par\n";
	}
if ($assisterapas == 1)
	{
	$message .= "n'assistera pas \n";
	echo "Assistera pas\n";
	}
mail($destinataire, $sujet, $message);
?>
Merci d'avance pour votre aide qui va m'être très précieuse !