Petite précision:
J'ai utiliser la méthode de "alphega" ici:
Formulaire de contact CAPTCHA
Le fichier contact.php est:
<?php $cryptinstall="./crypt/cryptographp.fct.php"; include $cryptinstall; ?> <?php $email_webmaster = "xxxx_AT_xxx.fr"; $titre_cache = "Formulaire de contact Fr "; // === traitement des données du formulaire ============================================================ if (isset($_POST["envoyer"])){ // le formulaire a été soumis $etat = "erreur"; // Valeur par défaut. Prendra la valeur "ok" s'il n'y a pas d'erreur // --- mise en forme des champs saisis dans le formulaire lors de sa soumission --- if (isset($_POST["email_expediteur"])) { $_POST["email_expediteur"]=trim(stripslashes($_POST["email_expediteur"])); } if (isset($_POST["titre"])) { $_POST["titre"]=trim(stripslashes($_POST["titre"])); } if (isset($_POST["message"])) { $_POST["message"]=trim(stripslashes($_POST["message"])); } // --- test de la validité des champs saisis --- if (empty($_POST["email_expediteur"])) { // il manque l'email de l'expéditeur $erreur="Saisissez votre adresse email..."; } elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$_POST["email_expediteur"])){ // l'adresse e-mail n'est pas valide $erreur="Votre adresse e-mail n'est pas valide..."; } elseif (empty($_POST["message"])) { // le message est vide $erreur="Saisissez un message..."; } elseif (empty($_POST["code"])) { // le code n'est pas saisi $erreur="Saisissez le code de verification..."; } else { // --- Vérification de la validité du code captcha --- if (chk_crypt($_POST['code'])) // --- tous les champs sont correctement remplis: on pourra envoyer le mail --- $etat="ok"; // --- Le code captcha n'est pas valide --- else $erreur="Code de verification non valide ..."; } } else { // --- le formulaire n'a pas été soumis --- $etat="attente"; } // === fin de traitement des données du formulaire ======================================================= ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xml:lang="fr" lang="fr" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Formulaire de contact</title> <style type="text/css"> .style1 { text-align: center; } </style> </head> <body> <h1 class="style1">Formulaire de contact</h1> <?php if ($etat!="ok"){// le formulaire n'a pas été soumis, ou soumis avec une erreur if ($etat=="erreur"){ //le formulaire a été soumis avec une erreur echo "<p><strong>".$erreur."</strong></p>\n"; // afficher le message d'erreur } ?> <form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>?<?php echo SID; ?>"> <p><label for="email_expediteur">Votre adresse e-mail (obligatoire):</label><br /> <input type="text" size="40" name="email_expediteur" id="email_expediteur" value="<?php if (!empty($_POST["email_expediteur"])) { // l'adresse email de l'expéditeur a été saisie: la réafficher echo htmlspecialchars($_POST["email_expediteur"],ENT_QUOTES); } ?>" /> </p> <p><label for="titre">Titre de message (facultatif):</label><br /> <input type="text" size="40" name="titre" id="titre" value="<?php if (!empty($_POST["titre"])) { // le titre du message a été saisi: le réafficher echo htmlspecialchars($_POST["titre"],ENT_QUOTES); } ?>" /> </p> <p><label for="message">Message (obligatoire):</label><br /> <textarea name="message" id="message" cols="40" rows="5"><?php if (isset($_POST["message"])) { // le message a été saisi: le réafficher echo htmlspecialchars($_POST["message"],ENT_QUOTES); } ?></textarea> </p> <?php dsp_crypt(0,1); ?> <p><input type="text" name="code" /></p> <p><input type="submit" name="envoyer" value="Envoyer" /> </p> </form> <?php } else { // le formulaire a été soumis sans erreur, on envoie le mail $entete = "From: ".$_POST["email_expediteur"]." <".$_POST["email_expediteur"].">\n"; $entete .= "Return-Path: ". $email_webmaster . "\n"; $entete .= "MIME-Version: 1.0"; $ip.="Adresse IP: ". $_SERVER['REMOTE_ADDR'] . "\n"; $nav.="Navigateur: ". $_SERVER['HTTP_USER_AGENT'] . "\n\n"; if (@mail($email_webmaster,$titre_cache.$_POST["titre"],$ip.$nav.$_POST["message"],$entete)){ // mail envoyé echo "Votre message a été envoyé.<br />\n"; echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Envoyer un autre message...</a>\n"; } else { // erreur lors de l'envoi du mail echo "Un problème s'est produit lors de l'envoi du message.\n"; echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez...</a>\n"; } } ?> </body> </html>
et j'ai mis en sous répertoire le dossier "crypt"
j'obtiens pleins de message d'erreur. bizarre non? ou alors je suis une vrai bille.