Problème avec mon formulaire web

Résolu/Fermé
Nums - 19 juin 2007 à 14:23
 bowbow13 - 21 juin 2007 à 11:38
Bonjour, j'ai un formulaire web sur mon site et quand je le remplis, tout va très bien, quand je fais envoyer il part dans ma boite aux lettres mais il ne vient pas le message de confirmation "votre mail a été envoyé...). Le formulaire revient vide dans les champs. Pourtant dans mon script tout à l'air OK. Quel peut être le problème. Merci de votre aide. Nums
A voir également:

11 réponses

bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
19 juin 2007 à 14:26
php ? js ?
un bout de code a montrer ?
...
0
Désolé du retard, voici mon formulaires. J'ai tout mis. Si tu trouves qqchose de bizarre concernant la quittance d'envoi, c'est sympa de me le dire. Merci. Nums:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns="http://www.w3.org/TR/REC-html40/">
<head>





<title>The Wellness Family</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">



<meta http-equiv="pragma" content="nocache">



<meta http-equiv="expires" content="Thu, 1 January 1900 00:00:00 PST">
<!--KEYWORDS-->



<meta name="keywords" content="TxtKeywords.Text">
<!--EKEYWORDS--><!--AUTHOR-->




<meta name="author" content="TxtAuthor.Text">
<!--EAUTHOR--><!--METADESC-->




<meta name="description" content="TxtMetaDescription.Text">



<!--EMETADESC--><!--CSS--><!--{CssStyles}--><!--ECSS-->
<?php

$email_dest = "numa@berthoud.info";

if ($_POST['envoi']) {

$message_remerciement = "Nous vous remercions pour votre pré-inscription. Vous allez recevoir une confirmation dans les prochains jours.";

// E-mail headers:
$headers ="MIME-Version: 1.0 \n";
$headers .="From: numa@berthoud.info \n";
$headers .="Content-Type: text/html; charset=iso-8859-1 \n";

$subject = "Pré-inscription à la journée NATURE ET SANTE";

$partie_entete = "<html><head>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body bgcolor=#FFFFFF>";

for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
$partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>";
}

if ($_POST['nbre_zone_email'] != 0) {
$partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>";
}

if ($_POST['nbre_zones_texte'] != 0) {
$partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>";
$partie_zone_texte = stripslashes($partie_zone_texte);
}

$fin = "</body></html>";

$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin;

// Send the e-mail
if (@!mail($email_dest,$subject,$sortie,$headers)) {
echo("Envoi du formulaire impossible");
} // Closing if !mail...

} // Closing if edit
?><html>
<head>
<title>Assistant d'envoi de formulaires</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript"><!-- Hide script from older browsers
function verifSelection() {if (mail_form.champ1.value == "") {
alert("Un des champs n\'est pas rempli.")
return false
} if (mail_form.champ2.value == "") {
alert("Un des champs n\'est pas rempli.")
return false
} if (mail_form.champ3.value == "") {
alert("Un des champs n\'est pas rempli.")
return false
} if (mail_form.champ4.value == "") {
alert("Un des champs n\'est pas rempli.")
return false
} if (mail_form.champ5.value == "") {
alert("Un des champs n\'est pas rempli.")
return false
} if (mail_form.champ6.value == "") {
alert("Un des champs n\'est pas rempli.")
return false
} if (mail_form.zone_email.value == "") {
alert("Un des champs n\'est pas rempli.")
return false
}

invalidChars = " /:,;'"

for (i=0; i<invalidChars.length; i++) { // does it contain any invalid characters?
badChar = invalidChars.charAt(i)

if (mail_form.zone_email.value.indexOf(badChar,0) > -1) {
alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier SVP.")
mail_form.zone_email.focus()
return false
}
}

atPos = mail_form.zone_email.value.indexOf("@",1) // there must be one "@" symbol
if (atPos == -1) {
alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier SVP.')
mail_form.zone_email.focus()
return false
}

if (mail_form.zone_email.value.indexOf("@",atPos+1) != -1) { // and only one "@" symbol
alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier SVP.')
mail_form.zone_email.focus()
return false
}

periodPos = mail_form.zone_email.value.indexOf(".",atPos)

if (periodPos == -1) { // and at least one "." after the "@"
alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier SVP.')
mail_form.zone_email.focus()
return false
}

if (periodPos+3 > mail_form.zone_email.value.length) { // must be at least 2 characters after the
alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier SVP.')
mail_form.zone_email.focus()
return false
}} // Fin de la fonction

</script>
</head>


<body leftmargin="0" topmargin="0" alink="#0099cc" bgcolor="#e8ecf4" link="#0099cc" marginheight="0" marginwidth="0" vlink="#0099cc">


<center>
<table style="border-collapse: collapse;" background="xx.png" border="0" bordercolor="#111111" cellpadding="0" cellspacing="0" height="323" width="568">


<tbody>

<tr height="416">


<td align="center" valign="top" width="517" height="416">
<table border="0" cellpadding="0" cellspacing="0" height="141" width="499">
<tbody>
<tr height="105">
<td height="105" width="499" colspan="2">
<div align="left">
<strong><font color="#0099cc" face="Eras Bold ITC" size="6">Formulaire</font></strong></div>
</td>
</tr>
<tr height="36">
<td width="357" align="left" valign="top" height="36">
<div align="left">
<font color="#0099cc" face="Tempus Sans ITC" size="4"><strong> Les plantes de nos montagnes</strong></font></div>
</td>
<td width="142" align="left" valign="top" height="36">


</td>
</tr>
</tbody>
</table>
<form name="mail_form" method="post" action="<?=$PHP_SELF?>" onSubmit="return verifSelection()">
<div align="center"></div>
<table width="495" border="0" align="center">
<tr>
<td colspan="2"><font face="Verdana" size="4">Pré-Inscription pour la journée NATURE et SANTE</font></td>
</tr>
<tr>
<td><font face="Verdana" size="2">Prénom</font></td>
<td><input name="champ1" type="text"></td>
</tr>
<tr>
<td><font face="Verdana" size="2">Nom</font></td>
<td><input name="champ2" type="text"></td>
</tr>
<tr>
<td><font face="Verdana" size="2">Adresse</font></td>
<td><input name="champ3" type="text"></td>
</tr>
<tr>
<td><font face="Verdana" size="2">NPA</font></td>
<td><input name="champ4" type="text"></td>
</tr>
<tr>
<td><font face="Verdana" size="2">Ville</font></td>
<td><input name="champ5" type="text"></td>
</tr>
<tr>
<td><font face="Verdana" size="2">N° de téléphone</font></td>
<td><input name="champ6" type="text"></td>
</tr>
<tr>
<td width><font face="Verdana" size="2">E-mail</font></td>
<td width><input name="zone_email" type="text"></td>
</tr>
<tr>
<td valign="top"><font face="Verdana" size="2">Remarques</font></td>
<td><textarea name="zone_texte" cols="50" rows="10"></textarea></td>
</tr>
<tr>
<td valign="top"><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="6">
<input name="nbre_zones_texte" type="hidden" value="1">
<input name="nbre_zone_email" type="hidden" value="1">
<input name="titre_champ1" type="hidden" value="Prénom"><input name="titre_champ2" type="hidden" value="Nom"><input name="titre_champ3" type="hidden" value="Adresse"><input name="titre_champ4" type="hidden" value="NPA"><input name="titre_champ5" type="hidden" value="Ville"><input name="titre_champ6" type="hidden" value="N° de téléphone"><input name="titre_email" type="hidden" value="E-mail"><input name="titre_zone" type="hidden" value="Remarques"></td>
<td>
<div align="center">
<input type="reset" name="Reset" value="Effacer">
<input type="submit" name="envoi" value="Envoyer"></div>
</td>
</tr>
</table>
<div align="center"></div>
</form>
<p></p>
</td>


<td align="left" valign="top" width="51" height="116"></td>


</tr>



</tbody>
</table>


<table background="xx.png" border="0" cellpadding="0" cellspacing="0" width="541">


<tbody>

<tr>
<td align="left" valign="top"></td>
</tr>



</tbody>
</table>


<table border="0" cellpadding="0" cellspacing="0" width="543">


<tbody>

<tr>


<td></td>


</tr>



</tbody>
</table>




</body>
</center>
</html></textarea>
<center>
<table border="0" cellpadding="0" cellspacing="0" height="18"><tr><td valign="top"><input type="submit" value="Ajouter"><input type="submit" name="Previsualiser" value="Previsualiser"></form></td><td valign="top"><form action="/ccmguide/ccmforum.php3#redaction" method="post"><input type="submit" value="Aide"></form></td></tr></table></center>
</td></tr></table>

<p>Identification Rapide :<br><table style="border:1px;padding:4px;border-color:#B7B7B7;background-color:#D6DEF7;width:640px;">

<tr><td><form name="ident" action="/forum/affich-3139259-probleme-avec-mon-formulaire-web#ecrire" method="post">
<input type="hidden" name="page" value="1">
<input type="hidden" name="ID" value="3139259"><input type="hidden" name="cat" value="24"><input type="hidden" name="titre" value="Problème avec mon formulaire web">
<span class="Texte"> Pour voir les champs ci-dessus remplis automatiquement, vous avez la possibilité en tant que membre de vous identifier :</span>
<center><table class="no" style="border:1px;border-color:#B7B7B7;background-color:#EFF2FB;padding:2px;width:50%"><tr><td>Identifiant</td><td><input name="login" maxlength="32" type="text" value="" size="30"></td></tr>
<tr><td>Mot de passe</td><td><input name="pass" maxlength="32" type="password" size="30"></td></tr></table>
<br><input type="submit" name="Identification" value="Identification">
</form>
</center></td></tr></table></span>
</td></tr></table></center>
</td></tr>
</table>
</div></td></tr><tr><th colspan="3"> </th></tr>
</table></div></div><div id="footer">
<script type="text/javascript">
<!--
xtnv = document; //affiliation frameset : document, parent.document ou top.document
xtsd = "http://logc15";
xtsite = "254140";
xtn2 = ""; //utiliser le numero du niveau 2 dans lequel vous souhaitez ranger la page
xtpage = "forum::affich-3139259-probleme-avec-mon-formulaire-web"; //placer un libellé de page pour les rapports Xiti
xtdmc = ".commentcamarche.net"; //Domaine cookie en ".monsite.fr" (optionnel)
xtprm = ""; //Paramètres supplémentaires (optionnel)
//-->
</script>
<script type="text/javascript" src="/remote/xiti.js"></script>
<noscript>
<img width="1" alt="" height="1" src="http://logc15.xiti.com/hit.xiti?s=254140&p=&" >
</noscript>
<br><table class="glossaire"><tbody><tr>
<td><a href="/glossaire/"><b>Glossaire</b></a></td>
<td><a href="/glossaire/a">A</a></td>
<td><a href="/glossaire/b">B</a></td>
<td><a href="/glossaire/c">C</a></td>
<td><a href="/glossaire/d">D</a></td>
<td><a href="/glossaire/e">E</a></td>
<td><a href="/glossaire/f">F</a></td>
<td><a href="/glossaire/g">G</a></td>
<td><a href="/glossaire/h">H</a></td>
<td><a href="/glossaire/i">I</a></td>
<td><a href="/glossaire/j">J</a></td>
<td><a href="/glossaire/k">K</a></td>
<td><a href="/glossaire/l">L</a></td>
<td><a href="/glossaire/m">M</a></td>
<td><a href="/glossaire/n">N</a></td>
<td><a href="/glossaire/o">O</a></td>
<td><a href="/glossaire/p">P</a></td>
<td><a href="/glossaire/q">Q</a></td>
<td><a href="/glossaire/r">R</a></td>
<td><a href="/glossaire/s">S</a></td>
<td><a href="/glossaire/t">T</a></td>
<td><a href="/glossaire/u">U</a></td>
<td><a href="/glossaire/v">V</a></td>
<td><a href="/glossaire/w">W</a></td>
<td><a href="/glossaire/x">X</a></td>
<td><a href="/glossaire/y">Y</a></td>
<td><a href="/glossaire/z">Z</a></td>
</tr></tbody></table><br><a href="/ccmguide/ccmintro.php3"><b>A propos</b></a> | <a href="/ccmguide/cgu-conditions-generales.php3"><b>Conditions générales</b></a> | <a href="/plan/"><b>Plan</b></a> | <a href="/partenaires/"><b>Partenaires</b></a> | <a href="/contact/"><b>Contact</b></a> | <a href="/guide-achat/constructeurs.php3"><b>Index des marques</b></a> | © Tous droits réservés 2007 <a href="https://www.commentcamarche.net/">Quidéa</a>
</div></body>
</html>
0
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 335
20 juin 2007 à 21:19
problemes relevés :

2 balises html
2 balises head
le formulaire s'affiche pas
erreur php ligne 44
tu déclare ton message ok neovyé par $message_remerciement, mais nulle par tu l'appelles en affichage...
soit il manque du code, soit y'a une autre page (apparement non car tu post en "self"...


euh... et j'irais pas plus loin, c'est un vrai bric a broc ta page... incompréhensible :s

dslé. si tu essayais de faire quelque chose de plus propre, je suis sur que toi meme tu t'y retrouverais (et donc trouverais l'erreur) ;-)

0
Salut Gryzzly, merci pour tes renseignements. J'avais fait ce formulaire sur un site. Il a marché (et il marche encore) pendant plusieurs mois, tout était OK et un beau jour, je n'avais plus la confirmation. Merci de ton aide. Nums
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
commentaire tres utile num sur des codes qui comment a être long, prend l'habitude d en mettre regulierement car sinon tu va te perdre tres rapide.

Le conseil de grizzly est plus que valable, on ne sait pas qu'elle code fait quoi au premier coup d'oeil.

Tu verras en mettant des commentaires, tu perdra moins de temps a chercher dans le code ;)
0
Merci du complément bowbow13 mais comme je l'ai dit, j'ai fait ce formulaire avec aide sur le web alors dur de documenter quelque chose que je n'ai pas fait de A à Z. En plus tout était OK jusqu'à quelques jours, alors je ne me doutait pas que ça allait foirer. Merci
0
lol C'est sur... tu sais ce qu'il te reste a faire si tu le garde lol .................... le commenter :D
la prochaine tu le fais (c'est plus long au départ mais apres une fois que tu en a fais un tu te base sur celui la pour les prochains, c'est ce que fais tous les programmeurs)
Comme ca tu a un code a dispo, tu a un code propre, tu a un code que tu connais et commenté. Tu perds du temps au départ mais apres tu en gagne.

dans tous les cas bon courages ;)
0
je veux bien mais ch'uis pas programmeur, ch'uis juste un simple bidouilleur du web. Tu as une idée où je peux trouver un exemple de formulaire bien fait? Tchô et merci de ton aide
0
tu cherche quoi comme formulaire parce qu au pire, le mien y a moyen d ameliorer mais il est au moins commenter lol
et en qu elle language le formulaire
0
PHP, html pour moi c'est égal pourvu qu'il fonctionne. Le formulaire que je veux est vraiment standard nom - prénom - etc... comme celui que tu trouves sous www.berthoud.info rubrique news et formulaire.
0
en faite je viens de regarder un peu ce que j avais en stock.....
le seul interessant n est pas complet :
il manque l antispam, le header, et la fonction mail a des bug donc pas tres interessant a l heure actuelle mais tiens je te montre vite fait ce que tu peut faire :
<code>
<?
/*fonction formulaire*/
function formulaire()
{
?>
<form action="inscript.php" method="post" name="page">
<table width="100%" heigth="100%"
<tr>
<td>Login * :</td>
<td><input type="text" size="20" name="login"/></td>
</tr>
<tr>
<td>Mot de passe * :</td>
<td><input type="password" size="20" name="mdp"/></td>
</tr>
<tr>
<td>Organisme * :</td>
<td><input type="text" size="20" name="organisme"/></td>
</tr>
<tr>
<td>Fonctions/Services * :</td>
<td><input type="text" size="20" name="fct"/></td>
</tr>
<tr>
<td>Nom * : </td>
<td><input type="text" size="20" name="nom"/></td>
</tr>
<tr>
<td>Prénom * : </td>
<td><input type="text" size="20" name="prenom"/></td>
</tr>
<tr>
<td>Rue1 :</td>
<td><input type="text" size="20" name="rue1"/></td>
</tr>
<tr>
<td>Rue2 :</td>
<td><input type="text" size="20" name="rue2"/></td>
</tr>
<tr>
<td>Code postal :</td>
<td><input type="text" size="20" name="cp"/></td>
</tr>
<tr>
<td>Ville * :</td>
<td><input type="text" size="20" name="ville"/></td>
</tr>
<tr>
<td>Pays :</td>
<td><input type="text" size="20" name="pays"/></td>
</tr>
<tr>
<td>Téléphone1 * :</td>
<td><input type="text" size="20" name="tel1"/></td>
</tr>
<tr>
<td>Téléphone2 :</td>
<td><input type="text" size="20" name="tel2"/></td>
</tr>
<tr>
<td>E-mail * :</td>
<td><input type="text" size="20" name="mail"/></td>
</tr>
<tr>
<td>commentaire :</td>
<td colspan="2"><textarea cols="40" rows="10" name="comment">Mettre ici les raisons de la demande d'inscription
0
merci je vais regarder ce que je vais faire. Nums
0
lol dsl il manque une partie de mon c/c lol
tiens la deuxieme partie
		<td colspan="2"><textarea cols="40" rows="10" name="comment">Mettre ici les raisons de la demande d'inscription</textarea></td>
		</tr>
		<tr>
		<td><input type="submit" value="valider"/></td>
		<td><input type="reset" value="effacer"/></td>
		</tr>

		</form>
		<tr><td colspan="3"><i>Les champs signalés par un * sont obligatoires</i></td></tr>
		</table>
		<?
}
?>
<?
/*appelle du formulaire*/
formulaire();
$recupProvisoire[0]="";
$compte=0;
/*vérification du login*/
if(isset($_POST['login']))
{
	if(empty($_POST['login']))
	{
		$message="votre login";
		message($message);
	}
	else
	{
		$compte++;
		$login=$_POST['login'];
	}
}
/*vérification du nom*/
if(isset($_POST['nom']))
{
	if(empty($_POST['nom']))
	{
		$message="votre nom";
		message($message);
	}
	else
	{
		$compte++;
		$nom=$_POST['nom'];
	}
}
/*vérification du mots de passe*/
if(isset($_POST['mdp']))
{
	if(empty($_POST['mdp']))
	{
		$message="votre mot de passe";
		message($message);
	}
	else
	{
		$compte++;
		$mdp=md5($_POST['mdp']);
	}
}


il n y a pas tout il fait quand meme 350 ligne lol
0