Problème formulaire contact

Le premier forum francophone sur l'éditeur de pages Web multiplateforme (Linux, Mac OS X, Windows) qui monte… KompoZer, héritier de Nvu, permet de créer vos pages Web graphiquement (wysiwyg) sans aucune connaissance du langage HTML.

Modérateur : chinon37

Aurélie29
Arias
Messages : 1
Inscription : 29 mars 2011, 23:39

Problème formulaire contact

Message par Aurélie29 »

Bonjour

J'ai longuement hésité à poster ce sujet, mais après de multiples recherches ( sur ce forum et ailleurs ) et tests, je ne m'en sors toujours pas et je ne trouve pas la solution à mon problème. Je suis débutante dans la création de site et encore plus en php c'est pour ça que je n'arrive vraiment pas à comprendre ce qui cloche. A mon avis il y a beaucoup d'erreurs....

J'essaye de mettre 2 formulaires de contact en place sur mon site, mais ça ne marche pas, il y a toujours quelque chose qui cloche, donc j'espère que quelqu'un pourra m'aider.

Le lien de mon site et de la page contact

http://elevagebergerallemand.net/elevag ... ontact.php

Le code php du premier formulaire

Code : Tout sélectionner

//moz-protect 
$no = htmlentities($_POST['Nom']);
$pr = htmlentities($_POST['Prenom']);
$vi = htmlentities($_POST['villeouregion']);
$fi = htmlentities($_POST['fixe']);
$por = htmlentities($_POST['portable']);
$em = htmlentities($_POST['email']);
$sonde = $_POST['sondage'];
if (isset($_POST['ba']))
$ba = $_POST['J'ai un Berger Allemand'];
else
$ba = "Je n'ai pas de Berger Allemand";
if (isset($_POST['chien']))
$chien = $_POST ['J'ai un chien'];
else
$chien = "Je n'ai pas de chien";
if (isset($_POST['chiot']))
$chiot = $_POST['Je cherche un chiot'];
else
$cherchechiot = "Je ne cherche pas de chiot";
if (isset($_POST['adulte']))
$adulte = $_POST['Je cherche un adulte'];
else
$adulte = "Je ne recherche pas d'adulte";
$po = htmlentities($_POST['portee']);
$ch = htmlentities($_POST['chiots']);
$sonde1 = $_POST['sondage1'];
$pre = htmlentities($_POST['precisez']);
$mâ = htmlentities($_POST['mâle']);
$de = htmlentities($_POST['Demandes']);
echo "Votre nom est $no <br />";
echo "Votre prenom est $pr <br />";
echo "Votre ville est $vi <br />";
echo "Votre numéro de telephone fixe est $fi <br />";
echo "Votre portable est $por <br />";
echo "Votre email est $em <br />";
echo "Vous &ecirc;tes $sondage <br />";
echo "Berger Allemand: $ba <br />";
echo "Chien: $chien <br />";
echo "Chiot: $cherchechiot <br />";
echo "Adulte: $adulte <br />";
echo "La portée est $po <br />";
echo "Le chiot est $ch <br />";
echo "Vous &ecirc;tes $sondage1 <br />";
echo "Autre utilisation $np <br />";
echo "L'utilisation est $pre <br />";
echo "Le mâle est $mâ <br />";
echo "Votre demande est $de <br />";
$message = ($_POST['Nom']);
$message = ($_POST['Prenom']);
$message = ($_POST['Nom']);
$message =($_POST['villeouregion'])
$message =($_POST['fixe'])
$message =($_POST['portable'])
$message =($_POST['email'])
$message = J'ai aimé $sondage \n";
$message = Berger Allemand $ba \n";
$message = Autre chien $chien \n";
$message = Cherche Chiot $chiot \n";
$message = Cherche Adulte $adulte \n";
$message =($_POST['portee'])
$message =($_POST['chiots'])
$message = Utilisation $sondage1 \n";
$message =($_POST['precisez'])
$message =($_POST['mâle'])
$message =($_POST['Demandes'])
mail ("trucnuche@gmail.com", "Site", $message, "From: $no");
echo "Votre message vient de nous &ecirc;tre envoy&eacute; <br />";
Le message d'erreur que je reçois lorsque je clique sur valider sur mon formulaire en ligne
Parse error: syntax error, unexpected T_STRING, expecting ']' in /mnt/web4/20/85/52003285/htdocs/dossierelevage/envoi.php on line 15


Le 2ème formulaire n'est pas complet donc j'aimerais déjà savoir quelles erreurs je commet sur celui ci pour éviter de faire les même sur l'autre...

Je vous remercie d'avance...
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Re: Problème formulaire contact

Message par Ymai »

Bonjour
Si la ligne 15 est bien

Code : Tout sélectionner

$chien = $_POST ['J'ai un chien'];
le souci provient de l'apostrophe qui suit le J de "J'ai un chien".
Cette apostrophe clôt
$_POST['J'
et le système s'attend à trouver "]" derrière.
Même souci à la ligne

Code : Tout sélectionner

$ba = $_POST['J'ai un Berger Allemand'];
Pour rappel, le tableau $_POST
ramène les contenus des différents champs du formulaire pointés par leur nom.
Or, dans le formulaire, on lit

Code : Tout sélectionner

<input value="J'ai un berger allemand" name="berger allemand" type="checkbox">
Dans le cas d'espèce, le nom est "berger allemand" et non "J'ai un berger allemand".
En première approximation, le code de la page d'envoi serait plutôt du type

Code : Tout sélectionner

$ba = $_POST['berger allemand'];
Mais c'est vraiment en première approximation puisque les noms des champs ne peuvent contenir des caractères "espace".

Il faudrait donc écrire quelque chose comme

Code : Tout sélectionner

<input value="J'ai un berger allemand" name="bergerAllemand" type="checkbox">
et

Code : Tout sélectionner

$ba = $_POST['bergerAllemand'];
Attention à relire l'avertissement donné, relativement à la sécurité de ce type de formulaire, par l'auteur du site qui propose ce code source.
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités