Formulaire qui marche a moitié - PHP - Programmation
Marsh Posté le 09-08-2008 à 12:25:29
Salut,
il y a déjà un ouvbli dans ton post : les balises [*code] ça permet de mieux lire le code.
Dans ton formulaire, il y a une erreur de conception :
Code :
|
C'est bizarre d'afficher le message, quelle que soit l'issue ...
Ensuite, il faudrait que, avant de faire un @mail comme un bourrin, tu testes ce que tu envoies ... Si ça se trouve c'est une erreur dans les headers. J'ai vu l'email avec ses chevrons collé au nom de l'expéditeur, essaie de les espacer. Essaie aussi les \r\n au lieu des seul \n
Marsh Posté le 11-08-2008 à 13:25:02
Code :
|
L'ordre des headers, peut etre? En tout cas, je t'ai posté la fonction d'envoi d'email que j'utilise (et qui fonctionne)
Marsh Posté le 08-08-2008 à 16:28:30
salut
j'ai un soucis avec mon formulaire et ca m'énerve ;/
voici l'url : http://www.l1games.ovh.org/formulaire.php
Envoi du formulaire Impossible
voici le code
<?php
$email_dest = "l1games@live.fr";
if ($_POST['envoi']) {
$message_remerciement = "Votre Demande a été prise en compte";
// E-mail headers:
$headers ="MIME-Version: 1.0 \n";
$headers .="From: Nouveau Joueur<l1games@live.fr>\n";
$headers .="Content-Type: text/html; charset=iso-8859-1 \n";
$subject = "L1Games DMCUP";
$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("" )
return false
} if (mail_form.champ2.value == "" ) {
alert("" )
return false
} if (mail_form.champ3.value == "" ) {
alert("" )
return false
} if (mail_form.champ4.value == "" ) {
alert("" )
return false
} if (mail_form.champ5.value == "" ) {
alert("" )
return false
} if (mail_form.zone_email.value == "" ) {
alert("" )
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." )
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.')
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.')
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.')
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.')
mail_form.zone_email.focus()
return false
}} // Fin de la fonction
</script>
</head>
<body bgcolor="#000000" text="#999999" link="#FF0000">
<form name="mail_form" method="post" action="<?=$PHP_SELF?>" onSubmit="return verifSelection()">
<div align="center"></div>
<p align="center">
<?php
if ($message_remerciement) {
echo("<font face=Verdana size=2>" );
echo(stripslashes($message_remerciement));
echo("</p></body></html>" );
exit();
}
?>
<table width="566" border="0" align="center">
<p align="center"></p><tr>
<td><font face="Verdana" size="2">Pseudo</font></td>
<td><input name="champ1" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Guid</font></td>
<td><input name="champ2" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Xfire</font></td>
<td><input name="champ3" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Votre Team actuelle</font></td>
<td><input name="champ4" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Par qui avez vous connu notre site ?</font></td>
<td><input name="champ5" type="text"></td>
</tr><tr>
<td width><font face="Verdana" size="2">Votre adresse Email</font></td>
<td width><input name="zone_email" type="text"></td>
</tr><tr>
<td valign="top"><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="5">
<input name="nbre_zones_texte" type="hidden" value="0">
<input name="nbre_zone_email" type="hidden" value="1">
<input name="titre_champ1" type="hidden" value="Pseudo"><input name="titre_champ2" type="hidden" value="Guid"><input name="titre_champ3" type="hidden" value="Xfire"><input name="titre_champ4" type="hidden" value="Votre Team actuelle"><input name="titre_champ5" type="hidden" value="Par qui avez vous connu notre site ?"><input name="titre_email" type="hidden" value="Votre adresse Email"></td>
<td><div align="center">
<font color="#000000">
<input type="submit" name="envoi" value="Envoyer">
<input type="reset" name="Reset" value="Effacer">
</font> </div></td>
</tr>
</table>
<div align="center"></div>
</form>
</body>
</html>
Message édité par kris83400 le 08-08-2008 à 16:29:32