Page 1 sur 1

récuperation donné de formulaire

Posté : 13 févr. 2008, 16:39
par touf
bonjou

je recoi pas les dooné rempli dans le formulaire, je recoi bien le mail mais pas le contenu rempli dans le formulaire
le javascript fonctionne bien

le formulaire html :

Code : Tout sélectionner

<form method="post" action="formu.php" enctype="text/plain" name="formulaire"> <input type="text" name="nom" size="30" /> <input type="text" name="prenom" size="30" /> <input type="text" name="mail" size="30" /> <input type="text" name="sujet" size="30" /> <input type="text" name="tel" size="30" /> <textarea name="message" rows="6" wrap="virtual" cols="30"></textarea> <input name="btn" type="submit" value="Valider" onClick="javascript:return verif();"> <input name="Submit2" type="reset" class="generalS" value="Effacer">
le javascript qui controle les champs , jave.js:

Code : Tout sélectionner

function verif() { var nom = document.formulaire.nom.value; if(document.formulaire.nom.value == "") { alert ('Veuillez entrer votre nom'); document.formulaire.nom.focus(); return false; } else if(document.formulaire.mail.value == "") { alert("Veuillez entrer votre adresse electronique"); document.formulaire.mail.focus(); return false; } else if(document.formulaire.mail.value.indexOf('@') == -1) { alert("Ce n'est pas une adresse electronique valide, verifiez la svp"); document.formulaire.mail.focus(); return false; } if(document.formulaire.message.value == "") { alert("Veuillez entrer votre message"); document.formulaire.message.focus(); return false; } else {return true;} }
et enfin le formu.php :

Code : Tout sélectionner

<?php $formNom = $_POST['nom']; $formPrenom = $_POST['prenom']; $formMail = $_POST['mail']; $formSujet = $_POST['sujet']; $formTel = $_POST['tel']; $formMessage = $_POST['message']; $email = "[email protected]"; $message = "Nom : \n".$formNom."\n\n"; $message .= "Prénom : \n $formPrenom\n\n"; $message .= "Email : \n $formMail \n\n"; $message .= "Téléphone : \n $formTel\n\n"; $message .= "Message : \n $formMessage\n"; mail($email,$sujet,$message); header("Location:confirmation.htm"); ?>
a savoir que le javascript et le php sont des fichiers externes

merci de votre aide

Posté : 13 févr. 2008, 17:15
par Truc
je ne pense pas que JS intervienne dans ce schmilblick mais l'appel de devrait pas se faire avec un "onclick" sur le bouton mais à l'aide d'un onsubmit sur la balise <form>.
Dans le premier cas si tu valides le formulaire avec la touche "entrée" la fonction JS ne sera pas appelée.

Que donne l'affichage de "$message" avant envoie du mail ?

Posté : 13 févr. 2008, 17:21
par touf
en faite le JS verifie juste les champs du formulaire si ils sont bien rempli avec une alerte,
le probleme vient du code PHP car je recoi bien le mail mais sans le contenu de ce que la personne rempli , juste les intitulé

Code : Tout sélectionner

Nom : Prenom : Email : Téléphone : Message :
y a t il pas un erreur dans le $message ??

Posté : 13 févr. 2008, 17:34
par d0m
A toi d'y répondre, fais un
echo $message;
avant la fonction mail

Posté : 13 févr. 2008, 17:53
par touf
j'ai tester sa ne fonctionne pas
de plus je veux conservé mon "header" pour rediriger ma page et on ne peut pas mettre un header apres un "echo"

quelqu'un a une idée sur le fait que je ne reçois pas les champs du formulaire ?

Posté : 13 févr. 2008, 18:08
par Truc
non tu ne peux pas effectuer un affichage et garder le header.
L'affichage qu'on te demande ne sert que de test que tu pourras supprimer par la suite et rediriger avec le header comme voulu.

le formulaire n'est pas fermé </form> oubli sur le forum ?
pas d'autre formulaire sur la page ?
que donne var_dump($_POST); ?

Posté : 13 févr. 2008, 18:22
par touf
non tu ne peux pas effectuer un affichage et garder le header.
L'affichage qu'on te demande ne sert que de test que tu pourras supprimer par la suite et rediriger avec le header comme voulu.

le formulaire n'est pas fermé </form> oubli sur le forum ?
pas d'autre formulaire sur la page ?
que donne var_dump($_POST); ?
j'ai deja essayer avec un "echo" et son affichage apparai bien mais le mail reste vide

concernant le </form> le formulaire est bien fermer j'ai pas voulu mettre tout le tableau j'ai mis juste les champ en corélation avec le php

je vais essayer var_dump
merci

Posté : 13 févr. 2008, 20:47
par d0m
j'ai deja essayer avec un "echo" et son affichage apparai bien mais le mail reste vide
Tu veux dire que
echo $message
t'affiche les contenus de $formNom, $formPrenom, $formMail, $formTel et $formMessage mais que ceux ci n'apparaissent pas dans le mail?

Et sans les sauts de lignes ça passe?

Posté : 13 févr. 2008, 21:19
par touftouf
j'ai deja essayer avec un "echo" et son affichage apparai bien mais le mail reste vide
Tu veux dire que
echo $message
t'affiche les contenus de $formNom, $formPrenom, $formMail, $formTel et $formMessage mais que ceux ci n'apparaissent pas dans le mail?

Et sans les sauts de lignes ça passe?
avec "echo" ba le mail est bien envoyé
et il y a une plage disant que ceci a été envoyer $formNom, $formPrenom, $formMail, $formTel et $formMessage
mais dans le mail il y a juste
Nom:
Prenom:
Email:
etc

Posté : 14 févr. 2008, 00:02
par touftouff
bon ba c resolu
il fallai juste enlever le enctype="text/plain"
voila si sa peut aider certain
merci de votre aide