Aller au contenu

bed

Membre
  • Compteur de contenus

    3
  • Inscrit(e) le

  • Dernière visite

Messages postés par bed

  1. J'ai modifié le deuxième formulaire avec le système d'addition qui est proposé sur ce fil et j'ai ajouté l'envoie de l'adresse IP ainsi que le navigateur de celui qui poste le message. Que pensez-vous du code ?

     

    <?php
    include_once("antispam.php");
    ?>

    <?php
    // Dans la ligne qui suit, remplacer webmaster_AT_domaine.tld par l'adresse email du webmaster, à laquelle les messages devront être envoyés
    $email_webmaster = "webmaster_AT_domaine.tld ";
    // Rajout alphega: Dans cette ligne remplacer example.com par le nom de votre site. Utile si vous avez plusieurs formulaires.
    $titre_cache = "Depuis le site domaine.tld";
    // === 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 (antispam_check() == false) {
    // l'addition est fausse
    $erreur="Résultat incorrect du calclul antispam, veuillez réessayer !";
    }
    else {
    // --- tous les champs sont correctement remplis: on pourra envoyer le mail ---
    $etat="ok";
    }
    }
    else {
    // --- le formulaire n'a pas été soumis ---
    $etat="attente";
    }
    // === fin de traitement des données du formulaire =======================================================
    ?>


    <?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"]; ?>">
    <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>
    <p>Résultat du calcul (pour éviter le spam):</p>
    <?php antispam_ins(); ?>
    <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";
    $message="Provenance : $HTTP_REFERER\n";
    $message.="Adresse IP : $REMOTE_ADDR,\n";
    $message.="Navigateur : $HTTP_USER_AGENT\n";

    if (@mail($email_webmaster,$titre_cache." / ".$_POST["titre"],$message.$_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";
    }
    }
    ?>

×
×
  • Créer...