Page 1 sur 1

formulaire de contact décèdé.

Posté : 15 août 2009, 17:28
par homonculus
Bonjour et merci de vous être arrêtes
J'ai un bon tit probleme.

Ma page contact de mon site ne fonctionne plus,
ça à commencé par envoyer mes mails en spam puis maintenant je ne reçois plus aucun mails.

ma page contact.html

Code : Tout sélectionner

<form method="post" action="contact.php"> <label for="nom">Votre Nom :</label><input id="nom" name="nom" type="text" /><br /><br /> <label for="mail">Votre eMail :</label><input id="mail" name="mail" type="text" /><br /><br /> <label for="msg">Votre Message :</label><textarea id="msg" name="msg" rows="8" cols="35" ></textarea><br /><br /> <input type="submit" class="send" value="Envoyer" /> </form> <br/><br/> <p id="findetext"> Mon adresse mail: "...@..."</p>

ma page contact.php
<?php 
//On teste le formulaire 
if(!empty($_post['nom']) && !empty($_post['mail']) && !empty($_post['msg'])) {     
    $subject = "Ce mail a été envoyé depuis le site ***"; 
    $content = $_post['nom']." vous envoie ce message :\r\n".$_post['msg']; 
    $content = stripslashes($content); 
    $headers = "From: ".$_post['mail']."\n"; 
    $headers .= "Reply-To: ".$_post['mail']."\n"; 
    mail("[email protected]",$subject,$content,$headers); 
    if(mail("[email protected]",$subject,$content,$headers)) { 
        echo "<div class=\"status ok\">Le mail a bien été envoyé !</div>"; 
    }else{ 
        echo "<div class=\"status no\">Le mail n'a pas été envoyé !</div>"; 
    } 
}else{ 
    echo "<div class=\"status no\">Veuillez remplir tout les champs du formulaire !</div>"; 
} 
?>

Je suis dessus depuis 12h je bloque. je ne comprend pas
est ce mon code?
mon hebergeur?
mon mail?


merci par avance de votre aide.

Re: formulaire de contact décèdé.

Posté : 15 août 2009, 17:50
par Victor BRITO
Essaie d'écrire $_POST tout en majuscules, d'autant qu'en PHP, le nom des variables, constantes et fonctions est sensible à la casse.

Au passage, vérifie aussi que la fonction mail () est activée par ton hébergeur (même si les hébergeurs qui désactivent cette fonction sont plutôt rares, cette précaution peut se révéler utile).

Soit dit en passant, pour éviter des soucis d'injection d'en-têtes courriel, ton script gagnerait en sécurité si tu vérifiais que, d'une part, l'adresse courriel saisie correspond bien à une adresse de ce type (regarde du côté de la fonction filter_var ()) et que, d'autre part, le nom retourné par $_POST['nom'] ne comporte ni retour à la ligne (\n) ni retour chariot (\r). ;)

Re: formulaire de contact décèdé.

Posté : 15 août 2009, 19:37
par homonculus
merci beaucoup pour la reponses, j'ai corrigé en majuscule, je suis chez ovh mais je pense pas que ce soit bloquer.
et pour la suite j'ai bien peur que tes conseils sont au dessus de mes capacités. j'ai pas tout compris.

Re: formulaire de contact décèdé.

Posté : 15 août 2009, 20:12
par Victor BRITO
et pour la suite j'ai bien peur que tes conseils sont au dessus de mes capacités. j'ai pas tout compris.
Je vais formuler autrement :
<?php
//On teste le formulaire 
if (!empty ($_POST['nom'])
  && !empty ($_POST['mail'])
  && !empty ($_POST['msg'])
  && !preg_match ("#\r|\n#", $_POST['nom'])
  && filter_var ($_POST['mail'], FILTER_VALIDATE_EMAIL) !== false)
{     
    // Les instructions qui suivent
}
else
{ 
    // Les instructions qui suivent
} 
?>
Si tu n'effectues pas les deux vérifications supplémentaires (celles qui complètent l'expression de ta condition), un utilisateur mal intentionné et connaisseur pourra ajouter, dans les champs nom et mail, des retours à la ligne et des retours chariots, suivis d'instructions d'en-têtes de courriel ; autrement dit, il pourra ajouter d'autres en-têtes pour mettre en copie (invisible ou non) d'autres destinataires inattendus, voire modifier l'en-tête To pour y attribuer d'autres destinataires.

Bref, je te conseille vivement de consulter le premier lien de mon précédent message (même s'il date de 2003, il est toujours utile) si tu ne veux pas que ton formulaire de contact ne devienne au mieux une passoire au pire un redoutable mini-serveur de spams.

Re: formulaire de contact décèdé.

Posté : 15 août 2009, 20:48
par homonculus
oki je j'ai appronfondir cela sur le liens
Mais je commence à desesperer je pensais pouvoir mettre mon site en ligne ce soir
en trouvant un tit script tout fait sur le net mais , je pensais pas que cela serait si compliquer.
Je suis un webmaster par defaut de pouvoir m'en payer un..

Merci en tout cas je reviendrai bientot^^

Re: formulaire de contact décèdé.

Posté : 17 août 2009, 20:32
par Homonculus
Bon j'ai trouvé une alternative en passant par le javascript, car je ne trouvais pas d'erreur,

Normal mon script fonctionnait.
Car ce matin j'ai récupéré dans mes mails tout les courriers envoyés par mon site sur mes différentes adresses mails..

C'est la faute de mon hébergeur, je suppose qu'il n'avait transmis correctement les infos, j'ai eu deux jours de galère pour rien. mais j'ai approfondis mes connaissances^^


Problème "RESOLU"

Re: formulaire de contact décèdé.

Posté : 17 août 2009, 21:30
par zeus
Modération :
Puisque ta question est résolue, je l'indique en ajoutant la petite icône verte "Résolu" pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.

TTu peux réaliser cette opération toi-même en cliquant sur le bouton Image en haut à droite de la réponse qui te semble la plus pertinente, si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)