PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Forum Général PHP » Mettre l'adresse mail du destinataire en bcc dans le formulaire » 26-03-2010 23:13:39

pascalld
Réponses : 1

Vous trouverez ci-dessous ma page complète. Mon souhait est de pouvoir cacher au destinataire de la copie qunad il reçoit le mail l'adresse mail du destinataire, mais je n'ai pas réussi avec le bcc. Si quelqu'un veut bien m'aider ! Merci.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulaire de contact</title>
<style type="text/css">
<!--
body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 16px;
    color: #FF9900;
}
body {
    background-color: #000099;
}
-->
</style></head>
<?php
    /*
        ********************************************************************************************
        CONFIGURATION
        ********************************************************************************************
    */
    // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
    $destinataire='plus@lorientplus.com';

    // copie ? (envoie une copie au visiteur)
    $copie = 'oui';

    // Action du formulaire (si votre page a des paramètres dans l'URL)
    // si cette page est index.php?page=contact alors mettez index.php?page=contact
    // sinon, laissez vide
    $form_action = '';

    // Messages de confirmation du mail
    $message_envoye = "Merci pour votre message. Il a bien été envoyé. Vous en avez reçu un double dans la boîte mail indiquée. Une réponse vous parviendra prochainement. Merci.";
    $message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";

    // Message d'erreur du formulaire
    $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email est sans erreur.";

    /*
        ********************************************************************************************
        FIN DE LA CONFIGURATION
        ********************************************************************************************
    */

    /*
     * cette fonction sert à nettoyer et enregistrer un texte
     */
    function Rec($text)
    {
        $text = trim($text); // delete white spaces after & before text
        if (1 === get_magic_quotes_gpc())
        {
            $stripslashes = create_function('$txt', 'return stripslashes($txt);');
        }
        else
        {
            $stripslashes = create_function('$txt', 'return $txt;');
        }

        // magic quotes ?
        $text = $stripslashes($text);
        $text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
        $text = nl2br($text);
        return $text;
    };

    /*
     * Cette fonction sert à vérifier la syntaxe d'un email
     */
    function IsEmail($email)
    {
        $pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
        return (eregi($pattern,$email)) ? true : false;
    };

    $err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin

    // si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables.
    $nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
    $email   = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
    $objet   = (isset($_POST['objet']))   ? Rec($_POST['objet'])   : '';
    $message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';

    if (isset($_POST['envoi']))
    {
        // On va vérifier les variables et l'email ...
        $email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
        $err_formulaire = (IsEmail($email)) ? false : true;

        if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
        {
            // les 4 variables sont remplies, on génère puis envoie le mail
            $headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";

            // envoyer une copie au visiteur ?
            if ($copie == 'oui')
            {
                $cible = $destinataire.','.$email;
            }
            else
            {
                $cible = $destinataire;
            };

            // Remplacement de certains caractères spéciaux
            $message = html_entity_decode($message);
            $message = str_replace(''',"'",$message);
            $message = str_replace('’',"'",$message);
            $message = str_replace('<br>','',$message);
            $message = str_replace('<br />','',$message);

            // Envoi du mail
            if (mail($cible, $objet, $message, $headers))
            {
                echo '<p>'.$message_envoye.'</p>'."\n";
            }
            else
            {
                echo '<p>'.$message_non_envoye.'</p>'."\n";
            };
        }
        else
        {
            // une des 3 variables (ou plus) est vide ...
            echo '<p>'.$message_formulaire_invalide.' <a href="contact.php">Retour au formulaire</a></p>'."\n";
            $err_formulaire = true;
        };
    }; // fin du if (!isset($_POST['envoi']))

    if (($err_formulaire) || (!isset($_POST['envoi'])))
    {
        // afficher le formulaire
        echo '<form id="contact" method="post" action="'.$form_action.'">'."\n";
        echo '    <fieldset><legend>Vos coordonnées</legend>'."\n";
        echo '        <p>'."\n";
        echo '            <label for="nom">Nom :</label>'."\n";
        echo '            <input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" />'."\n";
        echo '        </p>'."\n";
        echo '        <p>'."\n";
        echo '            <label for="email">Email :</label>'."\n";
        echo '            <input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="2" />'."\n";
        echo '        </p>'."\n";
        echo '    </fieldset>'."\n";

        echo '    <fieldset><legend>Votre message :</legend>'."\n";
        echo '        <p>'."\n";
        echo '            <label for="objet">Objet :</label>'."\n";
        echo '            <input type="text" id="objet" name="objet" value="'.stripslashes($objet).'" tabindex="3" />'."\n";
        echo '        </p>'."\n";
        echo '        <p>'."\n";
        echo '            <label for="message">Message :</label>'."\n";
        echo '            <textarea id="message" name="message" tabindex="4" cols="30" rows="8">'.stripslashes($message).'</textarea>'."\n";
        echo '        </p>'."\n";
        echo '    </fieldset>'."\n";

        echo '    <div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>'."\n";
        echo '</form>'."\n";
    };
?>
<body>
<span style="position:absolute; left:7px; top:492px; width:993px; height:15px; z-index:1; visibility: visible;"><img src="../images_structure/bande_H1.jpg" alt="" width="993" height="15" /></span>
<div id="Layer2" style="position:absolute; left:5px; top:522px; width:993px; height:5px; z-index:1; visibility: visible;"><img src="../images_structure/bande_H2.jpg" alt="" width="993" height="5" /></div>
<span style="position:absolute; left:40px; top:458px; width:15px; height:170px; z-index:1; visibility: visible;"><img src="../images_structure/bande_V1.jpg" alt="" width="16" height="170" /></span>
<div id="Layer" style="position:absolute; left:65px; top:457px; width:2px; height:170px; z-index:1; visibility: visible;"><img src="../images_structure/bande_H2.jpg" alt="" width="5" height="170" /></div>
<div id="Layer1" style="position:absolute; left:17px; top:480px; width:215px; height:39px; z-index:2; visibility: visible;">
  <p><img src="../logos/lor.jpg" alt="" width="212" height="36" /></p>
</div>
<div id="Layer4" style="position:absolute; left:286px; top:546px; width:614px; height:44px; z-index:2; font-family: Georgia, "Times New Roman", Times, serif; font-style: italic; font-weight: bold; font-size: xx-large; color: #FFCC00; visibility: visible;">
  <div align="center">FORMULAIRE DE CONTACT</div>
</div>
<span style="position:absolute; left:24px; top:599px; width:993px; height:15px; z-index:1; visibility: visible;"><img src="../images_structure/bande_H1.jpg" alt="" width="993" height="15" /></span>
<div id="Layer3" style="position:absolute; left:24px; top:623px; width:993px; height:5px; z-index:1; visibility: visible;"><img src="../images_structure/bande_H2.jpg" alt="" width="993" height="5" /></div>
</body>
</html>

Pied de page des forums

Propulsé par FluxBB