problème formulaire de 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

olisyl
Arias
Messages : 1
Inscription : 27 mars 2009, 16:18

problème formulaire de contact !!!!!

Message par olisyl »

Bonjour à tous!

Voilà je suis en train de créer un site internet, et là je suis en train de m'arracher car mon formulaire ne marche pas et je ne sais pas pourquoi !
Les infos du formulaire sont bien transmise dans ma page envoi.php, mais je ne les reçois pas sur mon adresse mail!!

je vous mets le code que j'utilise, si quelqu'un vois d'ou viens le soucis !!!

<?php $np = $_POST['nom'];
echo "Votre nom est $np <br />";?><br>
<?php $np = $_POST['prenom'];
echo "Votre prenom est $np <br />";?><br>
<?php $np = $_POST['adresse'];
echo "Votre adresse est $np <br />";?><br>
<?php $np = $_POST['message'];
echo "Votre message est $np <br />";?><br>
<?php mail ("adressemail", "Sondage", $message, "From: $np");?></div>

merci!



Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Bonjour

L'instruction

Code : Tout sélectionner

$np = $_POST['prenom']; 
a pour effet de déposer dans la variable $np le contenu de la composante "prenom" du tableau $_POST.
L'instruction suivante

Code : Tout sélectionner

$np = $_POST['adresse']; 
fait exactement la même chose avec le contenu de la composante "adresse" de $_POST.
Ce qui signifie que l'ancien contenu (le prénom, en l'occurrence) est irrémédiablement perdu.
A la troisième instruction,

Code : Tout sélectionner

$np = $_POST['message']; 
c'est le contenu de la composante "message" qui écrase définitivement l'ancien contenu de $_POST

Comme j'ai l'impression de reconnaître le texte du script, il me semble utile de renvoyer vers le code donné dans le tuto.
Il faut y remarquer que l'instruction, à partir de la deuxième affectation s'écrit plutôt comme

Code : Tout sélectionner

$np .= $_POST['message']; 
avec un petit "." devant le "=" qui change tout. Là, le contenu de la composante "message" est *ajouté* à l'ancien contenu. *

D'autre part, la syntaxe du script est incorrecte. La balise

Code : Tout sélectionner

<?php
sert à en marquer le début.
Ce n'est qu'à l'extrême fin du script, derrière la dernière instruction en PHP qu'intervient la balise Il n'est donc pas nécessaire de faire de chaque ligne un bout de script.
Les <br> supplémentaires pourraient très bien être intégrés dans le code PHP (si deux <br /> étaient souhaités à chaque ligne).

Finalement, le premier paramètre pour la fonction "mail" doit être une adresse e-mail et non le texte "adressemail" ou "iLikeBourgueil" ou quoi que ce soit d'autre.
Si l'adresse figure dans la variable $adresseMail, l'instruction s'écrira

Code : Tout sélectionner

mail ($adresseMail, "Sondage", $message, "From: $np")
Mais je rappelle qu'à la fin du script, la variable $np contient, au mieux, le message à envoyer. Et que $message n'a jamais rien reçu (sauf, peut-être, avant la première ligne présentée ici).

* Je signalerai cette difficulté à l'auteur du tuto. Nombre de questions reviennent à cause de ce "." qui passe trop inaperçu. Il sera content de pouvoir améliorer cette leçon.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.7) Gecko/2009030422 Ubuntu/8.04 (hardy) Firefox/3.0.7
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Ymai a écrit :D'autre part, la syntaxe du script est incorrecte. La balise

Code : Tout sélectionner

<?php
sert à en marquer le début.
Ce n'est qu'à l'extrême fin du script, derrière la dernière instruction en PHP qu'intervient la balise Il n'est donc pas nécessaire de faire de chaque ligne un bout de script.
Les <br> supplémentaires pourraient très bien être intégrés dans le code PHP (si deux <br /> étaient souhaités à chaque ligne).
Ça n'a rien d'incorrect, on peut mettre autant de bouts de PHP qu'on veut dans une page. Évidemment ici c'est un peu exagéré.

Par ailleurs, il vaudrait mieux utiliser des paragraphes (balises <p></p>), si de toute façon on met deux retours à la ligne.
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Ymai a écrit :D'autre part, la syntaxe du script est incorrecte.
Ymai a écrit :Il n'est donc pas nécessaire
Mes paroles ont donc bien dépassé ma pensée.
Sans doute ai-je été trop vite, pressé de ne pas me faire griller par un vigneron qui serait passé par là. :twisted:

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.7) Gecko/2009030422 Ubuntu/8.04 (hardy) Firefox/3.0.7
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
chinon37
Animal mythique
Messages : 5319
Inscription : 21 mars 2005, 10:17

Message par chinon37 »

Pas de risque, les vignerons ne sont vraiment pas et pas vraiment spécialisés dans les formulaires
[devancé](pour peu qu'ils soient spécialisés en quelque chose, ce qui est loin d'être prouvé)[/devancé]
Préferez Kompozer 0.8 à Nvu
Défendons nos valeurs, adhérons à l'APRIL
La Démocratie, c'est quand on frappe à votre porte à 6h00 du matin, et que c'est le laitier.
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

chinon37 a écrit :[devancé](pour peu qu'ils soient spécialisés en quelque chose, ce qui est loin d'être prouvé)[/devancé]
Dans certaines boissons à base de jus de raisin. J'en atteste volontiers par expérience.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.8) Gecko/2009032711 Ubuntu/8.04 (hardy) Firefox/3.0.8
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 3 invités