Probleme javascript php

Résolu
wifi -  
 wifi -
bonjour j ai une newsletter qui fonctionne le mail renseigné est bien envoyé sur mon email mais mon script pour le format de l adresse email ne fonctionne pas je ne vois pas pourquoi

merci

[code]

<?php

// N'afficher que les erreurs, pas les avertissements...
ini_set("error_reporting", "E_ALL & ~E_NOTICE");

// Adresse de réception du formulaire

$email_dest = "test@test.com";
if ($_POST['envoi']) {


// E-mail headers:
$headers ="MIME-Version: 1.0 \n";
$headers .="From: visiteurs du site <test@test.com>\n";


$headers .="Content-Type: text/html; charset=iso-8859-1 \n";

$subject = "Inscription newsletter";

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

for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++)

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


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

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

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

// Renvoi à la page de remerciement
header("Location:thanks.html");
exit();

} // Fin du else
} // Closing if edit
?><html><head><title></title><script language="JavaScript">function verifSelection() {if (document.mail_form.champ1.value == "") {
alert("Required information")
return false
} if (document.mail_form.champ1.value == "") {
alert("Required information")
return false
}

invalidChars = " /:,;'"

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

if (document.mail_form.zone_email.value.indexOf(badChar,0) > -1) {
alert("Invalid Character. Please check.")
document.mail_form.zone_email.focus()
return false
}
}

atPos = document.mail_form.zone_email.value.indexOf("@",1) // there must be one "@" symbol
if (atPos == -1) {
alert('Please enter "@".')
document.mail_form.zone_email.focus()
return false
}

if (document.mail_form.zone_email.value.indexOf("@",atPos+1) != -1) { // and only one "@" symbol
alert('only one "@" symbol. Please check.')
document.mail_form.zone_email.focus()
return false
}

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

if (periodPos == -1) { // and at least one "." after the "@"
alert('and at least one "." after the "@". Please check.')
document.mail_form.zone_email.focus()
return false
}

if (periodPos+3 > document.mail_form.zone_email.value.length) { // must be at least 2 characters after the
alert('must be at least 2 characters after the ".". Please check.')
document.mail_form.zone_email.focus()
return false
}} // Fin de la fonction

</script>
</head>
<body>
<form name="mail_form" method="post" action="forms.php" onSubmit="return verifSelection()">
<div align="center"></div>
<p align="center">
<table width="566" border="0" align="center">
<p align="center">
</p><tr>
<td width><font face="Verdana" color="8e1a2c" size="2">E mail *</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="1">
<input name="nbre_zones_texte" type="hidden" value="1">
<input name="nbre_zone_email" type="hidden" value="1">
<input name="titre_email" type="hidden" value="E mail"></td>
<td><div align="center">
<input type="reset" name="Reset" value="Reset">
<input type="submit" name="envoi" value="Send">
</div></td>
</tr>
</table>
<div align="center"></div>
<div align="left">
<span style="color: #8e1a2c;">
* Mandatory fields
</span>
</div>

</form></body></html>/code
A voir également:

5 réponses

wifi
 
personne n'a une idee ?
0
chaouki84
 
Salut wifi,
que dit le message d'erreur?
0
wifi
 
c est bien la le problème par ex dans le champ email je rentre toto et je clique sur envoyer il envoie, je recois bine toto sur mon email mais aucun message d'erreur :-(
0
chaouki84 > wifi
 
wifi,
Est ce que tu est en train d'essayer en local ou dans un serveur distant ?
0
wifi > chaouki84
 
je suis en local avec wamp
0
chaouki84
 
verifier que "SMTP=localhost" et "smtp_port=25" dans le fichier php.ini
0
wifi
 
e fait c était le cas du mais il m indiquait envoi impossible du coup j ai change par smtp=smtp.free.fr
0
chaouki84 > wifi
 
wifi,
puis il n'y a pas de messages d'erreur dans ton script, alors le problème peut étre dû de serveur d'envoi d'email,
essayer de changer smtp.free.fr par smtp.orange.fr
0
chaouki84 > chaouki84
 
essayr avec ça:
<?php

ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);

if (mail('destinataire@domain.tld', 'sujet', 'message')) echo 'E-mail envoyé!';
else echo 'Echec...';

?>
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
rien a voir avec le serveur c'est au niveau de la vérification javascript

essayes avec cette fonction:

function verifSelection() {
	if(mail_form.zone_email.value == "")  {
		alert("Veuillez entrer votre adresse email");
		mail_form.zone_email.focus();
		return false;
	}
	var exp=new RegExp("^[\\w\\-]+(\\.[\\w\\-]+)*@[\\w\\-]+(\\.[\\w\\-]+)*\\.[\\w\\-]{2,}$", "i");
	if(mail_form.zone_email.value !="" && !exp.test(mail_form.zone_email.value)){
		alert("Adresse email non valide ");
		mail_form.zone_email.focus();
		return false;
	}
}
0
wifi
 
impressionnant// ca marche nickel merci encore a tous surtout alain 42 pour la solution :-)
0

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

Posez votre question
wifi
 
Quelqu'un un a une idée ?

merci
0