Page 1 sur 1

problème formulaire de contact !!!!!

Publié : 27 mars 2009, 16:26
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

Publié : 27 mars 2009, 18:39
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

Publié : 27 mars 2009, 22:48
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.

Publié : 27 mars 2009, 23:09
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

Publié : 28 mars 2009, 11:31
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é]

Publié : 29 mars 2009, 23:28
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