Tom's Guide > Forum > Programmation > formulaire en php
Mot :    Pseudo :           
 

Bonjour à tous bon tout d'abord je débute je souhaite récupérer les données d'un formulaire en html et l'envoyer en php...Bon je précise pour un envoi classique et récupération de zone texte ca va je sais faire, comment par contre faire cela avec les checkbox et liste déroulante ?

voici le début de mon code de la page php qui récupère les données de ma page html, pas de soucis pour les champs texte mais je ne sais que faire pour les checkbox et les listes déroulantes:
<?Php
$msg = "Ecole:\t$nomecole\n";
$msg .= "Responsable:\t$nomresponsable\n";
$msg .= "Prénom:\t$nomprenom\n\n";
//Pourait continuer ainsi jusqu'à la fin du formulaire

$recipient = "moi@blabla.fr";
$subject = "Formulaire";

$mailheaders = "From: Mon test de formulaire<> \n";
$mailheaders .= "Reply-To: $email\n\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyer!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci, $nom </H1>";
echo "<P align=center>";
echo "Votre formulaire à bien été envoyé !</P>";
echo "</BODY></HTML>";
header("Location:test.php" );
?>

merci d'avance

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

bon, tu débutes, alors autant prendre de bonnes habitudes.

pour savoir ce que tu dois récupérer, tu fais des tests.
<form action="" method="get">
ça va passer les parametres dans l'adresse sous la forme ?variable=valeur&autrevariable=autrevaleur

tu vas remarquer qu'une case non cochée ne fait pas apparaitre la variable. elle n'existe donc dans le script php que si on a coché.
pour ta liste déroulante. si elle est simple, le nom de ta variable est le nom du select et sa valeur est la valeur de l'option choisie
<selec name="a">
<option value="1">x</option>
<option value="2">y</option>
<option value="3">z</option>
</selec>
retourne a=2 si le gars a choisi y.


pour tester ton script repasse en post (plus esthetique)
tu appelles tes variables $_GET['mavariable'] si elle passe par get (pas le cas theoriquement)
$_POST['mavariable'] si elle passe par post

tu testes si elle existe ou pas isset($mavariable) vaut 1 si la variable existe, 0 sinon.
tu testes éventuellement le contenu, voir si la personne n'a pas rempli.

Tu n'oublies pas qu'en général les variables passées en formulaire sont modifiés pour plus de sécurité (un \ est placé avant certains caractères sensibles)
Utilises la fonction stripslashes($mavariable) si tu veux faire disparaitre les antislashes.

Si tu essaies de placer une variable de type tableau entre des guillemets, php va gueuler.
utilises la concaténation (echo "toto".$mavariable."toto";) ou les accolades (echo "toto{$mavariable}toto";)

avec ça tu pars sur de bonnes bases :-)

Répondre à rongeur-sauvage

merci pour cette réponse je vais peut être abuser mais pourrais tu me donner un exemple avec une liste déroulante et deux cases à cocher placer dans mon code au bon endroit car là pour moi c'est vraiment flou..je débute vraiment merci beaucoup en tous cas d'avoir déjà répondu

Répondre à marsamandes

j'ai fait un exemple assez complet.
[le script] [la source]

j'ai commenté ce qui me paraissait utile.
ouvre un message privé ou explique moi ici les zones de mon code qui te semblent flous.

le code peut sembler long. on peut faire plus court, mais comme tu n'es pas forcément familier avec les tableaux php et les boucles, j'ai choisi de privilégier sa lisibilité.

Répondre à rongeur-sauvage
Tom's Guide > Forum > Programmation > formulaire en php
Aller à :

Il y a 474 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens