-
Message publié le lundi 30 juillet 2007 à 13 h 00 par Lilli. Lilli
-
Bonjour,
J'ai créé un formulaire de saisie sur mon site au format html.
J'ai également créée une page en php afin que les informations saisies me soient envoyées sur ma messagerie. Le problème est que je reçois sur ma messagerie uniquement les intitulés des champs. Les valeurs saisies par l'internaute ne sont pas récupérées.
Voici les infos de mon formulaire :
<form method="post" enctype="text/plain" action="formmail2.php">
<div align="justify"><font color="#006666"><strong>Prénom :</strong></font> <input name="prenom" type="text" maxlength="20" size="25">
<font color="#006666"><strong>Nom :</strong></font> <input name="Nom" type="text" maxlength="20" size="25">
<br>
<BR>
<font color="#006666"><strong>Homme</strong></font> <input name="sexe" type="checkbox" value="homme">
<strong><font color="#006666">Femme</font></strong> <input name="sexe" type="checkbox" value="femme">
<br>
<BR>
<font color="#006666"><strong>Adresse : </strong></font><br>
<input name="adr1" type="text" maxlength="100" SIZE="100">
<br>
<br>
<font color="#006666"><strong>Code postal :</strong></font> <input name="cp" type="text" maxlength="5" SIZE="10">
<strong><font color="#006666">Ville :</font></strong> <input name="ville" type="text" maxlength="5" SIZE="10">
<br>
<br>
<font color="#006666"><strong>Tél : </strong>
</font>
<input name="tel" type="text" maxlength="20" SIZE="20">
<strong><font color="#006666"> Port :</font></strong> <input name="port" type="text" maxlength="20" SIZE="20">
<br>
<br>
<font color="#006666"><strong>E-mail :</strong></font> <input name="mail" type="text" maxlength="40" SIZE="40">
<br>
<br>
<font color="#006666"><strong>Posez votre question ou faites-nous des suggestions : </strong></font><br>
<textarea name="quest" rows="12" cols="72"></textarea>
</div><br>
<div align="center"><input type="submit" value="Envoyer">
<input type="Reset" value="Effacer"><br><br>
Merci pour ces informations. Nous répondrons à votre message dans
les meilleurs délais.</div>
</form>
Et voici ma page d'envoi en php
<?php
//Pour définir chaque input du formulaire, ajouter le signe de dollar devant
$msg = "prenom:\t$prenom\n";
$msg .= "nom:\t$nom\n";
$msg .= "homme:\t$homme\n";
//Pourait continuer ainsi jusqu'à la fin du formulaire
$recipient = "adec.association@free.fr";
$subject = "Formulaire";
$mailheaders = "From: adec.association.free.fr<> \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>";
?>
Est-ce que j'ai oublié de saisir une expression ?
Merci pour votre aide.
Lilli
-
Message publié le lundi 30 juillet 2007 à 13 h 20 par AdrienVH. L'informatique à portée de tous ! Une douce utopie ? Non... Un principe... /// http://www.adam-photographie.com
-
Salut !
Je cite :
// Pour définir chaque input du formulaire, ajouter le signe de dollar devant
Ah non pas vraiment lol...
Les données envoyées par un formulaire avec la methode post sont regroupées dans un array (un tableau) en PHP. Elles sont accessibles de cette manière :
$_POST['toninput']
Exemple
<?php
//Pour définir chaque input du formulaire, ajouter le signe de dollar devant
// Et pour voler, il suffit de bouger les bras... c'est ça... lol
$msg = "prenom:\t$_POST['prenom']\n";
$msg .= "nom:\t$_POST['nom']\n";
$msg .= "homme:\t$_POST['homme']\n";
//Pourait continuer ainsi jusqu'à la fin du formulaire
$recipient = "adec.association@free.fr";
$subject = "Formulaire";
$mailheaders = "From: adec.association.free.fr<> \n";
$mailheaders .= "Reply-To: $_POST['email']\n\n";
mail($recipient, $subject, $msg, $mailheaders);
echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyer!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci, $_POST['nom'] </H1>";
echo "<P align=center>";
echo "Votre formulaire à bien été envoyé !</P>";
echo "</BODY></HTML>";
?>
Je pense que c'était ça le problème !
Tu as copié ce code quelque part ? C'était dans un tutoriel ?
Bonne continuation Lili :)
Adrien
P.S. : Dans ton cas, en fait, il suffirait d'ajouter cette ligne comme première ligne du code PHP :
extract($_POST);
Cette fonction fait correspondre $_POST['toninput'] à $toninput !
Mais elle est déconseillée avec $_POST mais je ne sais pas pourquoi...
Bye ;)
P.S.2 : Les balises en XHTML, selon les standards, c'est mieux en minuscule :)
-
Message publié le lundi 30 juillet 2007 à 13 h 43 par Lilli. Lilli
-
Bonjour et merci pour ta réponse.
J'ai fait les modifications que tu m'a donné, mais lors l'envoi du formulaire sur le navigateur, un message d'erreeur s'affiche. Une erreur de syntaxe mais je ne sais pas du tout ce qu'il faut modifier.
Erreur :
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /mnt/141/sdb/6/f/adec.association/formmail2.php on line 5
Merci
-
Message publié le lundi 30 juillet 2007 à 14 h 19 par AdrienVH. L'informatique à portée de tous ! Une douce utopie ? Non... Un principe... /// http://www.adam-photographie.com
-
C'est l'intégration des variables PHP dans le code HTML et PHP qui ne va pas trop, je crois...
J'ai fait ça :
<?php
$msg = "Prenom : ".$_POST['prenom']."\n";
$msg .= "Nom : ".$_POST['nom']."\n";
$msg .= "Sexe : ".$_POST['sexe']."\n";
$recipient = "adec.association@free.fr";
$subject = "Formulaire";
$mailheaders = "From: Association ADEC<adec.association@free.fr"."\n";
$mailheaders .= "Reply-To: ".$_POST['email'];
mail($recipient, $subject, $msg, $mailheaders);
echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyé!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci, ".$_POST['nom']."</H1>";
echo "<P align=center>";echo "Votre formulaire a bien été envoyé !</P>";
echo "</BODY></HTML>";
?>
J'esperes que tu comprendras... Si ce n'est pas le cas, hésites pas ;)
Adrien
P.S. Il faudra faire correspondre tes input à tes $_POST[''] !
Car <input name="Nom" ...> correspond à $_POST['Nom'] mais pas à $_POST['nom'] !
La casse doit être respectée...
:)
++
-
Message publié le lundi 30 juillet 2007 à 14 h 20 par AdrienVH. L'informatique à portée de tous ! Une douce utopie ? Non... Un principe... /// http://www.adam-photographie.com
-
ERRATUM :)
$mailheaders = "From: Association ADEC<adec.association@free.fr"."\n";
devient...
$mailheaders = "From: Association ADEC<adec.association@free.fr>"."\n";
Il manquait un >
lol
Adi ++
-
Message publié le lundi 30 juillet 2007 à 14 h 33 par Lilli. Lilli
-
Merci tout le monde pour ces réponses.
Cet fois, c'ets bon, le formaulaire est envoyé correctement sur ma messagerie mias le problème c'est que les champs sont vides. Les valeurs saisies sur Nom, prénom... ne sont pas reprises. J'ai bien repris le nom de mes input en respectant la casse.
Lilli
-
Message publié le lundi 30 juillet 2007 à 15 h 07 par AdrienVH. L'informatique à portée de tous ! Une douce utopie ? Non... Un principe... /// http://www.adam-photographie.com
-
Bizarre moi ça marchait bien sauf Nom comme je l'ai indiqué...
-
Message publié le lundi 30 juillet 2007 à 15 h 08 par Lilli. Lilli
-
est-ce que ça peut être lié à mon hébérgeur qui est FREE ?
-
Message publié le lundi 30 juillet 2007 à 15 h 29 par AdrienVH. L'informatique à portée de tous ! Une douce utopie ? Non... Un principe... /// http://www.adam-photographie.com
-
Non je pense pas...
Tu es sûre que les "name" correspondent bien ? Parce que je vois que ça là...
Essayes de faire un formulaire plus clair plus light pour commencer du genre :
<form method="post" action="formmail2.php">
<input type="text" name="Prenom" />
<input type="text" name="Nom" />
<input type="submit" value="Valider" />
</form>
Pense bien à changer les valeurs dans $_POST['XXXXX'] et regarde le résultat...
Si ça marche pas, c'est drolement bizarre !
Adi
++
-
Message publié le lundi 30 juillet 2007 à 15 h 46 par Lilli. Lilli
-
En fait, j'ai récupéré ce code sur un tuto.
Et grande surprise, dans la balise form de mon formulaire, j'avais le code : enctype="text/plain".
J'ai supprimé cette valeur et là tout a fonctionné correctement.
Merci beaucoup pour ton aide.
Je peux te demander une dernière chose. Sur ma page php, quel code dois-je ajouter pour rediriger la page "merci, votre message..." vers la page d'accueil.
Je suppose que je ne peux pas mettre un code html du genre :
<META http-EQUIV="Refresh" CONTENT="8; url=http://adec.association@free.fr">
Merci
-
Message publié le lundi 30 juillet 2007 à 16 h 05 par AdrienVH. L'informatique à portée de tous ! Une douce utopie ? Non... Un principe... /// http://www.adam-photographie.com
-
alors ça depend de ce que tu veux faire...
Soit tu decides de tout simplement redirigé le visiteur dès que le formulaire est soumis...
Il faut pour cela utiliser la fonction Header();
<?php
$msg = "Prenom : ".$_POST['prenom']."\n";
$msg .= "Nom : ".$_POST['nom']."\n";
$msg .= "Sexe : ".$_POST['sexe']."\n";
$recipient = "adec.association@free.fr";
$subject = "Formulaire";
$mailheaders = "From: Association ADEC<adec.association@free.fr"."\n";
$mailheaders .= "Reply-To: ".$_POST['email'];
mail($recipient, $subject, $msg, $mailheaders);
Header('Location: tapagedaccueil.php');
?>
Soit tu decides d'affcher du texte genre merci, le formulaire a bien été envoyé et là bha il suffit de faire un lien...
Adi
++
-
Message publié le lundi 30 juillet 2007 à 16 h 24 par Lilli. Lilli
-
Merci pour tout
-
Message publié le lundi 30 juillet 2007 à 16 h 42 par AdrienVH. L'informatique à portée de tous ! Une douce utopie ? Non... Un principe... /// http://www.adam-photographie.com
-
De rien !! C'était un peu laborieux lol :$
Bonne continuation !
Adi
++
-
Message publié le vendredi 10 août 2007 à 17 h 21 par gabpn340.
-
Bonjour,
De mon côté j'ai essayé de faire un formulaire et tout, mais une fois sur le site, j'obtient un message du genre
Method Not Allowed
The requested method POST is not allowed for the URL /formulaire.php.
Apache/1.3.27 Server at skyworldairways.site.voila.fr Port 80
Qu'es-ce que je dois faire?
Merci
Gab!
-
Message publié le mardi 29 avril 2008 à 13 h 59 par praud2. Amicalement Pascal Raud
-
FORMULAIRE AVEC FREE
bonjour,
voici le code wanadoo que j'utilisait:
Citation:
FORM NAME="form" METHOD="POST" ACTION"http://pages.perso.wanadoo.fr/client/php/formulaire.php>
<INPUT TYPE="HIDDEN" NAME="email" VALUE="pascal.raud2@wanadoo.fr.">
<INPUT TYPE="HIDDEN" NAME="sujet" VALUE="Demande de contact">
<form action="mailto:pascal.raud2@wanadoo.fr" method=post encrypt="textplain"name="formu" <table border="2">
en remplaçant wanadoo par Free ça ne fonctionne pas !!!!
Au secours