La communauté ALL HTML c'est 58031 membres à ce jour dont 1 inscrits aujourd'hui et 30 depuis une semaine.

  • imprimer
  • aide

Forum de discussions « XHTML - HTML - CSS »

Retrouvez les publications relatives à ces discussions dans nos rubriques CSS, HTML, XHTML.

Problème avec formulaire html

liste des forums liste des discussions Participer à la discussion

Photo de Lilli 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&eacute;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&eacute;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&eacute;pondrons &agrave; votre message dans
les meilleurs d&eacute;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
Photo de AdrienVH 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 :)
Photo de Lilli 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
Photo de AdrienVH 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...

:)

++
Photo de AdrienVH 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 ++
Photo de Lilli 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
Photo de AdrienVH 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é...
Photo de Lilli 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 ?
Photo de AdrienVH 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
++
Photo de Lilli 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
Photo de AdrienVH 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

++
Photo de Lilli Message publié le lundi 30 juillet 2007 à 16 h 24 par Lilli. Lilli
Merci pour tout
Photo de AdrienVH 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

++
Photo de gabpn340 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!
Photo de praud2 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

liste des forums liste des discussions Participer à la discussion

Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.

ACCÉS COMMUNAUTÉ

Rejoignez ALL HTML

Publiez vos articles, actualités, communiqués ... Donnez votre avis, partagez votre réseau, rencontrez d'autres membres et participez à la vie de la communauté.

Les 5 dernières discussions

agenda