我的form2mail php有两个问题。
所以我请求了一些帮助,他发现了一个隐藏的脚本,只有在论坛上复制/粘贴时才出现! 这是:
<script type="text/javascript">
/* <![CDATA[ */
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
</script>
以下是原始代码:
<!--------------------------------------------
TRAITEMENT DES DONNEES DU FORMULAIRE ---->
<?php
// variables éditables par vous
// destinataire de l'email
$dest = 'xxxx@xxxxxxx.fr';
// sujet de l'email
$objet = '[xxxxxxx] contact depuis le site';
// on s'assure que les info ont bien été postées depuis le site ensino.fr
// if ((eregi($_SERVER['SERVER_NAME'], $_SERVER['HTTP_REFERER'])) || 1) {
// transfert des variables postées avec epurage antispam
foreach ($_POST as $key=>$val){
$val = nl2br($val);
list($val, $foo) = split('<',$val,2);
$$key = utf8_decode($val) ;
}
// on vérifie que les champs ont bien été renseignés, en préparant au fur et à mesure le message d'erreur
$errorMsg = '';
if ($name_input == '') $errorMsg .= "<li>Votre nom n'est pas précisé<br></li>\n";
if ($email_input == '') $errorMsg .= "<li>Votre adresse email n'est pas précisé<br></li>\n";
if (! eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email_input )) $errorMsg .= "<li>Votre adresse email n'est pas valide<br></li>\n";
if ($service_input == '') $errorMsg .= "<li>Vous n'avez pas précisé le service souhaité<br></li>\n";
if ($categorieclient_input == '') $errorMsg .= "<li>Vous n'avez pas précisé votre qualité<br></li>\n";
if ($telephone == '') $errorMsg .= "<li>Vous n'avez pas précisé votre numéro de téléphone<br></li>\n";
// traitement des données
if ($errorMsg == '') { // il n'a pa pas d'erreur : envoi du formulaire
$headers = "From: " . $name_input . "<" . $email_input . ">\n";
$headers .= "MIME-version: 1.0\n";
$headers .= "Content-type: text/html; charset= iso-8859-1\n";
$message = '<b>Le message suivant a été laissé sur le site xxxxxx.fr : </b><br><br> ';
$message .= '<b>Nom : </b> ' . $name_input . '<br>';
$message .= '<b>Email : </b> ' . $email_input . '<br>';
$message .= '<b>Service : </b> ' . $service_input . '<br>';
$message .= '<b>Type client : </b> ' . $categorieclient_input . '<br>';
$message .= '<b>Téléphone: </b> ' . $telephone . '<br>';
$res = mail($dest, $objet, $message, $headers);
if ($res ) {
?>
<!--indiquez ici le message de remerciement / confirmation -->
Merci ! Votre message a été transmis <br />
à un conseiller xxxxxxxx.</p>
<p><br />
<br />
Thanks ! Your message has been sent <br />
to our team.<br />
<br />
<?php
} else { // erreur technique du système (extrèmement rare !!!)
?>
<!--indiquez ici le message d'erreur -->
Une erreur inconnue est survenue lors de l'envoi de votre message. </p>
<p><a href='javascript:history.back()'>retour</a></p>
<?php
}
} else { // il y a des d'erreur : on l'indique avec un lien retour
?>
<!--indiquer ici le message d'erreur -->
ERREUR ! le formulaire est incomplet ou mal renseigné.
<!-- nous pouvons intégrer le détail des erreurs commises, champs manquants, adresse email invalide-->
<?php
echo "<ul class='contact_erreur'>" . $errorMsg ."</ul>"; // je n'ai pas crée la classe "contact_erreur";
?>
<p><a href='javascript:history.back()'>retour</a></p>
<?php
}
/*} else {
// les données ont été transmises sepuis un autre site
// A priori, c'est une tentative de fraude, donc ce n'est
// pas la peine de s'étendre sur les commentaires ;-)
echo "Erreur de sécurité<br>Le message n'a pas été envoyé";
}
*/
?>
<!--FIN DU TRAITEMENT DES DONNEES DU FORMULAIRE
---------------------------------------------->
你能帮助我吗?
非常感谢!