Probleme script envoie formulaire ?
J'ai télécharger un site pré-conçu mon ma société, mais le formulaire de contact à l'air de ne pas fonctionner....
je vous passe mes codes :
traitement_email.php
<? $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\n"; $headers .= "From: Infolex <infolex@ymail.com>\n"; $headers .= "Cc: $adresse\n"; $headers .= "Bcc: infolex@ymail.com\n"; $message = "Message de l'internaute :<br> $texte <br> Son nom et prénom : $nom $prenom <br> Son email : $email"; // On envoi l'email if ( mail($destinataire, $sujet, $message, $headers) ) echo "<div align=\"center\"> <a href=\"../index.html\"></a> </div>"; else echo "Un probleme est survenu lors de l'envoir de votre message !"; ?>
contact
<table width="610" height="99" border="0" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="486" bgcolor="#FFFFFF"><div align="center"><form id="formulaire" name="formulaire" action="../scripts/traitement_email.php" method="post" onSubmit="return verification()">
<table width="609">
<tr><td height="10"></td></tr>
<tr>
<td width="200" bgcolor="#D3E3EB"><p class="barretitre">Votre nom : </p></td><td width="397" bgcolor="#D3E3EB"><input name='nom' type='text' class='recherche' size="40"></td>
</tr>
<tr><td><p class="barretitre">Votre prénom : </p></td><td><input name='prenom' type='text' class='recherche' size="40"></td></tr>
<tr><td bgcolor="#D3E3EB"><p class="barretitre">Votre email :</p></td><td bgcolor="#D3E3EB"><input name='email' type='text' class='recherche'></td>
</tr>
<tr><td><p class="barretitre">Motif de <br />
votre message :</p></td><td><p class="barretitre">
<input name='sujet' type='radio' class="recherche" value='renseignements'>
Renseignements<br />
<input name='sujet' type='radio' class="recherche" value='bugs sur le site'>
Bugs sur le site<br />
<input name='sujet' type='radio' class="recherche" value='partenariat et publicité'>
Partenariat / publicité<br />
<input name='sujet' type='radio' class="recherche" value='autres'>
Autres ...</p></td></tr>
<tr><td bgcolor="#D3E3EB"><p class="barretitre">Votre message :</p></td><td bgcolor="#D3E3EB"><textarea name='texte' cols='35' rows='10' class='recherche'></textarea></td>
</tr>
<tr><td height="50"> </td><td bgcolor="#486778">
<div align="center"><a class="barretitre" onclick="javascript:if (verification()) {formulaire.submit();}" href="javascript:void(0);">ENVOYER</a><br />
</div></td>
</tr>
</table>
</form></div></td>
</tr>
</table>
Quelque chose ne va pas ou c'est la fatigue qui me prend ?
Merci d'avance !
Configuration: Windows Firefox 3.5.2
39 réponses
Le formulaire de contact d’un site préconçu ne transmet pas correctement les messages, avec des soucis autour du script traitement_email.php, de l’envoi via mail() et d’une éventuelle validation JavaScript. En pratique, les échanges ont insisté sur la nécessité d’un retour true/false dans la fonction de vérification JavaScript et sur la vérification de l’adresse destinataire côté PHP pour éviter les envois invalides. D'autres interactions évoquent l'erreur SMTP 550 A valid address is required et recommandent de corriger l'adresse du destinataire (ou d’ajuster le code d'envoi) pour que mail() renvoie true. En complément, certains conseils suggèrent d'intégrer des tests côté serveur et de vérifier que le formulaire et le script de traitement correspondent bien au chemin et au nom des champs.
-
ContributeurBonjour :)
Déjà, es tu sur que $sujet, $adresse et $texte contiennent bien des infos ??
De plus, gaffe à ton if.. else tu n as pas mis de {}.. ca peut etre source de soucis , et pourquoi utiliser \" au lieu de ' ???:
if ( mail($destinataire, $sujet, $message, $headers) ){
echo "<div align='center'>
<a href='../index.htm'><img src='../themes/default/images/button_backtosite.png' border='0'></a>
</div>";
}else{
echo "Un probleme est survenu lors de l'envoie de votre message !";}
Pour info, sur mon site , il y a un script d envoie de mail qui marche parfaitement :
http://jjsteing.u7n.org/index.php?id=21 => Formulaire_envoie_mail.php si tu clique sur le lien ca t affiche les données du formulaire, et sur la droite, tu as un lien pour afficher les codes sources ;) -
Bonjour
Je viens ici car je suis dans le même problème que notre ami infolex.
J'ai aussi crée un site avec un kit graphique mais malheureusement je n'arrive pas a faire fonctionner le scripts contact.
J'ai pas vraiment compris l'explication que vous avez donné en rajoutant destinataire
voici le code scipts que j'ai pouvez vous me dire se qui ne joue pas
<?
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "From: BlueHome <mike_sevetse@msn.com>\n";
$headers .= "Cc: $adresse\n";
$headers .= "Bcc: mike_sevetse@msn.com\n";
$message = "Message de l'internaute :<br> $texte <br> Son nom et prénom : $nom $prenom <br> Son email : $email";
// On envoi l'email
if ( mail($destinataire, $sujet, $message, $headers) ) echo "<div align=\"center\">
<a href=\"../index.htm\"><img src=\"../themes/default/images/button_backtosite.png\" border=\"0\"></a>
</div>";
else echo "Un probleme est survenu lors de l'envoir de votre message !";
?> -
Ok, mais se sera trop compliqué je pense... pour le moment tant pis !
Merci quand même pour votre patience et certainement à très bientôt ;)
Merci encore une fois pour tout !!! -
Pour le formulaire, le seul champ obligatoire apparemment est le sujet... d'après les tests que je viens d'effectuer. Peut être que les messages arriveront plus tard.
Dans ce cas, comment faire pour qu'une fenêtre (comme celle du "merci pour votre message, vous allez etre redirige vers la page d'accueil) s'affiche avec un autre message du genre "message non envoye. merci de préciser le sujet" ?
Merci en ce qui concerne le "u" oublié :)
et pour la sécurité je n'ai pas bien saisis ce dont vous voulez me dire :s
Merci beaucoup
PS : si pour le formulaire c'est trop compliqué tant pis ! en attendant je ferais avec.
merci -
L'url de mon site est : http://infolex.fr
-
je ne suis pas allé sur le site. j'ai testé en copiant les scripts déposés sur ccm.
je n'ai pas vu l'URL du site
-
Ca fonctionne apparament :)
Merci énormément giheller !!!
Et sinon une dernière question sans rapport avec le sujet, que pensez-vous de mon site pour ma société ?
Merci et à bientôt !!! -
à la ligne 14 on envoit le mail avec $destinataire
si destinataire n'est pas renseigné il est évident que cela ne peut aller.
un peu de logique non ? -
Pourquoi on me dit "on line 14"
la ligne 14 est :
if ( mail($destinataire, $sujet, $message, $headers) ) echo "<div align=\"center\">
Merci -
J'ai ce message d'erreur :
Warning: mail() [function.mail]: SMTP server response: 550 A valid address is required. in D:\www\infolex.fr\htdocs\scripts\traitement_email.php on line 14
Un probleme est survenu lors de l'envoir de votre message !
j'ai fais comme vous avez dit :
<? $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\n"; $headers .= "From: Infolex <infolex@ymail.com>\n"; $headers .= "Cc: $adresse\n"; $headers .= "Bcc: infolex@ymail.com\n"; $message = "Message de l'internaute :<br> $texte <br> Son nom et prénom : $nom $prenom <br> Son email : $email"; $destinataire = "infolex@ymail.com"; // On envoi l'email if ( mail($destinataire, $sujet, $message, $headers) ) echo "<div align=\"center\"> <a href=\"../index.html\"></a> </div>"; else echo "Un probleme est survenu lors de l'envoir de votre message !"; ?>
-
<?
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "From: Infolex <infolex@ymail.com>\n";
$headers .= "Cc: $adresse\n";
$headers .= "Bcc: infolex@ymail.com\n";
$message = "Message de l'internaute :<br> $texte <br> Son nom et prénom : $nom $prenom <br> Son email : $email";
ICI$destinataire = "info.......";
// On envoi l'email
if ( mail($destinataire, $sujet, $message, $headers) ) echo "<div align=\"center\">
<a href=\"../index.html\"></a>
</div>";
else echo "Un probleme est survenu lors de l'envoir de votre message !";
?> -
et comment je fais ca ? et dans quel script ?
Je suis totalement perdu :(
merci.. -
attention
il faut aussi écrire des choses réelles dans le javascript.
après vérifications on doit faire return true; si aucune erreur n'a été trouvée sinon return false; pour ne pas faire de submit avec des valeurs erronées.
-
Oui j'utilise dreamweaver, mais le site je l'ai téléchargé et changer à ma façon (enfin que le texte).
-
// On envoi l'email if ( mail($destinataire, $sujet, $message, $headers) )
Le champs destinataire est vide ok, c'est bien ça le problème ? donc pour ajouter mon adresse je fais comment ? si c'est bien ca :s
Merci encore pour ta patience !-
-
@gihellerVoila le message d'erreur :
Warning: mail() [function.mail]: SMTP server response: 550 A valid address is required. in D:\www\infolex.fr\htdocs\scripts\traitement_email.php on line 13
Un probleme est survenu lors de l'envoir de votre message !
et voila mon script :
<? $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\n"; $headers .= "From: infolex <contact@infolex.fr>\n"; $headers .= "Cc: $adresse\n"; $headers .= "Bcc: contact@infolex.fr\n"; $message = "Message de l'internaute :<br> $texte <br> Son nom et prénom : $nom $prenom <br> Son email : $email"; // On envoi l'email $destinataire= "contact@infolex.fr"; if ( mail($destinataire, $sujet, $message, $headers) ) echo "<div align=\"center\"> <a href=\"../index.html\"></a> </div>"; else echo "Un probleme est survenu lors de l'envoir de votre message !"; ?>
Pourquoi ca ne fonctionne toujours pas ??
Merci
-
-
--EDIT--
J'avais pas lu toute la convers --___--' -
que contient la variable $destinataire ?
c'est à cette adresse que le message est envoyé. -
Pourtant mon adresse mail est bien infolex@ymail.com (ou bien contact@infolex.fr mais il y a une redirection ymail)
Voici mon code :
<? $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\n"; $headers .= "From: Infolex <infolex@ymail.com>\n"; $headers .= "Cc: $adresse\n"; $headers .= "Bcc: infolex@ymail.com\n"; $message = "Message de l'internaute :<br> $texte <br> Son nom et prénom : $nom $prenom <br> Son email : $email"; // On envoi l'email if ( mail($destinataire, $sujet, $message, $headers) ) echo "<div align=\"center\"> <a href=\"../index.html\"></a> </div>"; else echo "Un probleme est survenu lors de l'envoir de votre message !"; ?>
-
avez-vous lu le message d'erreur : il vous dit que l'adresse mail est invalide
-
Désolé je n'avais pas vu :s
Alors en ajoutant le script que vous m'avais donné, voici le message d'erreur que je reçois une fois le mail envoyé :
Warning: mail() [function.mail]: SMTP server response: 550 A valid address is required. in D:\www\infolex.fr\htdocs\scripts\traitement_email.php on line 13
Un probleme est survenu lors de l'envoir de votre message !
Et je n'ai donc reçu aucun e-mail... Faut-il modifier quelque chose dans le traitement_email.php maintenant ?
Merci !
- 1
- 2