formulaire de contact
Bonjour, j'ai inséré le formulaire de contact dans une page, mais j'ai un message d'erreur : la vérification anti-spam a échouée
mon hébergement est OVH,
j'ai changé les balises par "/n", mais c'est le même problème. merci de votre réponse. Christophe le code : <?php
# Page statique Pluxml : formulaire de contact par florent@pluxml.org
# revision 1.1 par Sudwebdesign: compatibilité pluxml 5.1b
if(!defined('PLX_ROOT')) exit;
# Renseignez ici votre adresse mail
$email = 'monmail@neuf.fr';
# Notre capcha
$capcha = new plxCapcha();
# Nos variables
$erreur = '';
$succes = '';
if(!empty($_POST)) { # Formulaire valide
if($_POST == sha1($capcha->gds.$_POST)) { # Capcha valide 5.1b
$_POST = trim($_POST);
$_POST = trim($_POST);
$_POST = plxUtils::getIp();
# On verifie les donnees
if(empty($_POST) OR empty($_POST) OR empty($_POST))
$erreur = 'Merci de remplir tous les champs obligatoires';
if($erreur == '' AND !plxUtils::checkMail(trim($_POST)))
$erreur = 'L\'adresse mail saisie n\'est pas valide';
# On peut envoyer si pas d'erreur
if($erreur == '') {
$corps = 'Son nom : '.$_POST."n";
$corps .= 'Son mail : '.$_POST."n";
$corps .= 'Son adresse IP : '.$_POST."n";
$corps .= 'Son message : '."n";
$corps .= $_POST;
# On peut retirer certains caracteres (enlever // de la ligne suivante)
//$corps = str_replace("r"," ",$corps);
# On envoi le mail
$headers = 'From: '.$_POST."rn";
$headers .= 'MIME-Version: 1.0'."rn";
$headers .= 'Content-type: text/plain; charset="'.PLX_CHARSET.'"'."rn";
$headers .= 'Content-transfer-encoding: 8bit'."rn";
if(mail($email,'## Pluxml ## contact depuis votre formulaire de contact',$corps, $headers))
$succes = 'Merci de nous avoir contacté, nous vous répondrons le plus rapidement possible.';
else
$erreur = 'Une erreur s\'est produite au cours de l\'envoi de votre message...';
}
} else { # Capcha non valide
$erreur = 'la vérification anti-spam a échouée';
}
} else {
# Initialisation
$erreur = 'Merci de remplir le formulaire ci-dessous';
$_POST = '';
$_POST = '';
$_POST = '';
}
?>
<div id="form">
<p class="message_contact"><?php echo (!empty($erreur))?$erreur:$succes; ?></p>
<?php if(!empty($erreur) OR empty($_POST)): ?>
<form action="#form" method="post">
<label for="nom">Votre nom :<br />
</label><input name="nom" type="text" size="30" value="<?php echo plxUtils::strCheck($_POST) ?>" maxlength="30" /><br />
<label for="mail">Votre courriel :<br />
</label><input name="mail" type="text" size="30" value="<?php echo plxUtils::strCheck($_POST) ?>" /><br /><br />
<label for="content">Votre message :<br />
</label><textarea name="content" cols="60" rows="12"><?php echo plxUtils::strCheck($_POST) ?></textarea><br />
<br />
<label for="rep">Vérification anti-spam :</label>
<p><?php echo $capcha->q(); ?> : <input name="rep" type="text" size="10" /></p>
<input name="rep2" type="hidden" value="<?php echo $capcha->r(); ?>" />
<p><input type="submit" value="Envoyer" /> <input type="reset" value="Effacer" /></p>
</form>
<?php endif; # Fin du if si mail envoye ?>
</div>
mon hébergement est OVH,
j'ai changé les balises par "/n", mais c'est le même problème. merci de votre réponse. Christophe le code : <?php
# Page statique Pluxml : formulaire de contact par florent@pluxml.org
# revision 1.1 par Sudwebdesign: compatibilité pluxml 5.1b
if(!defined('PLX_ROOT')) exit;
# Renseignez ici votre adresse mail
$email = 'monmail@neuf.fr';
# Notre capcha
$capcha = new plxCapcha();
# Nos variables
$erreur = '';
$succes = '';
if(!empty($_POST)) { # Formulaire valide
if($_POST == sha1($capcha->gds.$_POST)) { # Capcha valide 5.1b
$_POST = trim($_POST);
$_POST = trim($_POST);
$_POST = plxUtils::getIp();
# On verifie les donnees
if(empty($_POST) OR empty($_POST) OR empty($_POST))
$erreur = 'Merci de remplir tous les champs obligatoires';
if($erreur == '' AND !plxUtils::checkMail(trim($_POST)))
$erreur = 'L\'adresse mail saisie n\'est pas valide';
# On peut envoyer si pas d'erreur
if($erreur == '') {
$corps = 'Son nom : '.$_POST."n";
$corps .= 'Son mail : '.$_POST."n";
$corps .= 'Son adresse IP : '.$_POST."n";
$corps .= 'Son message : '."n";
$corps .= $_POST;
# On peut retirer certains caracteres (enlever // de la ligne suivante)
//$corps = str_replace("r"," ",$corps);
# On envoi le mail
$headers = 'From: '.$_POST."rn";
$headers .= 'MIME-Version: 1.0'."rn";
$headers .= 'Content-type: text/plain; charset="'.PLX_CHARSET.'"'."rn";
$headers .= 'Content-transfer-encoding: 8bit'."rn";
if(mail($email,'## Pluxml ## contact depuis votre formulaire de contact',$corps, $headers))
$succes = 'Merci de nous avoir contacté, nous vous répondrons le plus rapidement possible.';
else
$erreur = 'Une erreur s\'est produite au cours de l\'envoi de votre message...';
}
} else { # Capcha non valide
$erreur = 'la vérification anti-spam a échouée';
}
} else {
# Initialisation
$erreur = 'Merci de remplir le formulaire ci-dessous';
$_POST = '';
$_POST = '';
$_POST = '';
}
?>
<div id="form">
<p class="message_contact"><?php echo (!empty($erreur))?$erreur:$succes; ?></p>
<?php if(!empty($erreur) OR empty($_POST)): ?>
<form action="#form" method="post">
<label for="nom">Votre nom :<br />
</label><input name="nom" type="text" size="30" value="<?php echo plxUtils::strCheck($_POST) ?>" maxlength="30" /><br />
<label for="mail">Votre courriel :<br />
</label><input name="mail" type="text" size="30" value="<?php echo plxUtils::strCheck($_POST) ?>" /><br /><br />
<label for="content">Votre message :<br />
</label><textarea name="content" cols="60" rows="12"><?php echo plxUtils::strCheck($_POST) ?></textarea><br />
<br />
<label for="rep">Vérification anti-spam :</label>
<p><?php echo $capcha->q(); ?> : <input name="rep" type="text" size="10" /></p>
<input name="rep2" type="hidden" value="<?php echo $capcha->r(); ?>" />
<p><input type="submit" value="Envoyer" /> <input type="reset" value="Effacer" /></p>
</form>
<?php endif; # Fin du if si mail envoye ?>
</div>
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
as-tu essayé en tenant compte des majuscules/minuscules dans le code antispam à saisir ?
Consultant PluXml
Ancien responsable du projet (2010 à 2018)
Christophe
En espérant que celui fonctionne pour toi.
$temps = time();
C'est une idée de plus pour se protéger du spam.
Une option qu'un amis développeur m'avait proposé, c'était de récupérer l'adresse ip, la stoker dans un fichier avec l'heure et la date. Si la personne est déjà "fichée", alors tu na plus qu'a jouer sur l'intervalle de temps nécessaire pour pouvoir relancer un mail. Pendant se labs de temps, quoi qu'il arrive elle ne pourra pas envoyer de mail. Il avait même pousser le vice jusqu'à proposer 3 essais puis après fini la rigolade. Voilà en espérant t'avoir donné une piste.
A+