simsgodzilla
Messages postés24Date d'inscriptionvendredi 17 mars 2006StatutMembreDernière intervention25 juin 2006
-
7 juin 2006 à 15:39
simsgodzilla
Messages postés24Date d'inscriptionvendredi 17 mars 2006StatutMembreDernière intervention25 juin 2006
-
25 juin 2006 à 19:17
Bonjour!
Pourriez vous me dire ce qui cloche dans ce code? il parrait archer à l'execption près que l'envoi ne s'effectue pas...lol
<? // Exemple d'envoi de formulaire
// Interface PHP pour mail()
function sendMail($mFrom,$mTo,$sujet,$body) {
// l'émetteur
$tete = "From: ".$mFrom."\n";
$tete .= "Reply-To: ".$mFrom."\n";
// et zou... false si erreur d'émission
return mail($mTo,$sujet,$body,$tete);
}
<? // SI LE FORM A ETE POSTE
if(!empty($_POST["Email"])) {
// Récupère les éléments du form
$temp="";
while (list($truc, $val) = each($HTTP_POST_VARS))
$temp .= $truc." : ".$val."\n\n";
// Caractères spéciaux
$temp = stripslashes($temp);
// Envoie le message
// L'émetteur est aussi le récepteur dans cet exemple !
if(@sendmail($_POST["Email"],$_POST["Email"],"Test SendForm",$temp)) {
// Affiche un message de confirmation
echo "Le formulaire a bien été envoyé à ".$_POST["Email"]." !";
} else {
// ou un message d'erreur
echo "Impossible d'envoyer le formulaire !";
}
// SINON AFFICHAGE DU FORM
} else { ?>
<script language ="JavaScript">
// Teste si le mail a une forme correcte
function checkmail(email) {
var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,4}$/
return (reg.exec(email)!=null)
}
// Teste le contenu des champs du form avant submit
function test(nom,mail) {
if(nom.value=="") {
alert("Indiquez votre nom !"); nom.focus(); return false;
} else if(!checkmail(mail.value)) {
alert("Email incorrect !"); mail.focus(); return false;
}
return true;
}
</script>
<form method=\"post\" onsubmit=\"return test(this.Nom,this.Email)\">
----
<?php // SI LE FORM A ETE POSTE
if(!empty($_POST['Email'])) {
// Récupère les éléments du form
$temp='';
while (list($truc, $val) = each($_POST))
$temp .= $truc . ' : ' . $val . "\n\n";
// Caractères spéciaux
$temp = stripslashes($temp);
// Envoie le message
// L'émetteur est aussi le récepteur dans cet exemple !
if(@sendmail($_POST['Email'],$_POST['Email'], 'Test SendForm',$temp)) {
// Affiche un message de confirmation
echo 'Le formulaire a bien été envoyé à ', htmlentities($_POST['Email']), '<gras></gras> !';
} else {
// ou un message d'erreur
echo 'Impossible d\'envoyer le formulaire !';
}
// SINON AFFICHAGE DU FORM
} else { ?>
<script language ="text/JavaScript">
// Teste si le mail a une forme correcte
function checkmail(email) {
var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,4}$/
return (reg.exec(email)!=null)
}
// Teste le contenu des champs du form avant submit
function test(nom,mail) {
if(nom.value=='') {
alert('Indiquez votre nom !'); nom.focus(); return false;
} else if(!checkmail(mail.value)) {
alert('Email incorrect !'); mail.focus(); return false;
}
return true;
}
</script>
<form action=\"<?php echo $_SERVER['PHP_SELF']; ?>\" method =\"post\" onsubmit=\"return test(this.Nom,this.Email)\">
----
simsgodzilla
Messages postés24Date d'inscriptionvendredi 17 mars 2006StatutMembreDernière intervention25 juin 2006 7 juin 2006 à 16:15
J'aurais tellement voulu accepter ta réponse (qui avait l'air top!)
mais il me marque toujours : impossible d'envoyer le formulaire!
tu crois que ça vient forcément du code?
David_monchy
Messages postés214Date d'inscriptionlundi 20 mars 2006StatutMembreDernière intervention23 juin 20061 7 juin 2006 à 16:16
Je suis d'accord avec JoJo738, mais dans ce cas, il faut faire gaffe, car parfois $_SERVER['PHP_SELF'] ne renvoie pas la page désirée selon si cette page est inclue ou non. Si son code ne marche pas, remplace le par le nom de ta page contenant le formulaire.
simsgodzilla
Messages postés24Date d'inscriptionvendredi 17 mars 2006StatutMembreDernière intervention25 juin 2006 7 juin 2006 à 16:31
Hum....
voici la rep :
Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\documents and settings\administrator\mes documents\sophie\master2\www\index.php on line 9 Impossible d'envoyer le formulaire !Wednesday June 07, 2006
JoJo738
Messages postés1267Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention29 juin 20102 7 juin 2006 à 16:52
Euh, faut modifier le php.ini
Par exemple :
For Win32 only. paramètre du serveur smtp de votre fournisseur d'accès
SMTP = smtp.free.fr ;for win32 only
; For Win32 only. l'adresse e-mail qui apparaitra dans le message envoyé
sendmail_from = mon.nom@free.fr ;for win32 only
; For Unix only. à configurer seulement si utilisé unix ou linux
;sendmail_path = mon.nom@free.fr ;
A modifier, je sais plus comment ^^ Et verifie que ton port 80 est ouvert
<hr style="width: 100%; height: 2px;" />Si ma reponse te convient, merci de l'accepter !
simsgodzilla
Messages postés24Date d'inscriptionvendredi 17 mars 2006StatutMembreDernière intervention25 juin 2006 7 juin 2006 à 17:13
Je peux pas supprimer de messages...? si oui, dis moi comment on fait...
Mais c quoi le blem? c fo ce que tu m'as dis? tu sais pour moi c du chinois tout ça.... j'en peux plus.....jen ai marrrrrrrrr.... c vraiment pas mon truc le multimédia....pfff....(désolée pour ce passage)
simsgodzilla
Messages postés24Date d'inscriptionvendredi 17 mars 2006StatutMembreDernière intervention25 juin 2006 7 juin 2006 à 18:09
Ok, c bon pour le bug!
Mais reste à eclaircir ce point : pour il l'envoi à "l'internaute" ([mailto:a.rico1@caramail.com a.rico1@caramail.com]) et pas à moi? ([mailto:sophie.perrier6@wanadoo.fr sophie.perrier6@wanadoo.fr]) il fait l'inverse.... meme s'il dit bien que le message provient de a.rico1@....
et l'IP, est-ce nécéssaire finalement?