par stealth35 » 16 juin 2010, 20:26
par gmarcilly » 16 juin 2010, 10:28
Code : Tout sélectionner
// On vérifie que la personne a bien choisi le destinataire if($_POST['choixMail'] === 'Tout le monde'){ $to = implode(', ', $listeDesMails); }elseif($_POST['choixMail'] && IsSet($listeDesMails[$_POST['choixMail']])){ $to = $listeDesMails[$_POST['choixMail']]; }else{ echo '<div style="text-align:center; color:#FF0000;">Veuillez choisir un destinataire ! Merci.<br /><br /></div>',"\r\n"; }
par stealth35 » 14 juin 2010, 16:29
Je ne comprend pas, il me met un parse error pour la première ligne du code que tu m'as envoyé : Parse error: parse error in C:\wamp\www\Contacts.php on line 472 if (isset($_POST['choixMail']) { Où est le blèm ?
par gmarcilly » 14 juin 2010, 16:25
par stealth35 » 14 juin 2010, 16:19
if (isset($_POST['choixMail']) { $choixMail = $_POST['choixMail']; } else { $choixMail =''; }
par gmarcilly » 14 juin 2010, 16:14
par stealth35 » 14 juin 2010, 16:04
par gmarcilly » 14 juin 2010, 16:02
par stealth35 » 14 juin 2010, 15:39
Merci beaucoup de ton aide ! En effet, c'était ballot La page s'affiche maintenant mais deux nouvelles erreurs sont apparues : Notice: Undefined index: choixMail in C:\wamp\www\Contacts.php on line 472 (et 474) Je crois que j'ai provoqué cette erreur en voulant réunir les deux code existants. Qu'en penses-tu ? Comment puis-je définir choixMail ? Ou peut-être qu'il y a conflit entre deux termes ? Merci de m'accorder du temps
par gmarcilly » 14 juin 2010, 15:37
par stealth35 » 14 juin 2010, 14:46
par gmarcilly » 14 juin 2010, 14:38
<?php /* ******************************************************************************************** CONFIGURATION ******************************************************************************************** */ // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule // 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 ! Votre message nous est bien parvenu !<br /> Nous vous répondrons dans les plus brefs délais."; $message_non_envoye = "L'envoi du mail a échoué. <br />Vous n'avez peut-être pas rempli tous les champs du formulaire. <br />Merci de réessayer en cliquant <a href=\"http://www.marci.fr/contact.php\">ici</a>."; // Message d'erreur du formulaire $message_formulaire_invalide = "L'envoi du message a échoué. Vérifiez que tous les champs <br />soient bien remplis et que l'email soit sans erreur.<br /><br />"; /* ******************************************************************************************** FIN DE LA CONFIGURATION ******************************************************************************************** */ // On vérifit que la personne a bien choisi le destinataire if($_POST['choixMail'] === 'Tout le monde'){ $to = implode(', ', $listeDesMails); }elseif($_POST['choixMail'] && IsSet($listeDesMails[$_POST['choixMail']])){ $to = $listeDesMails[$_POST['choixMail']]; }else{ echo '<div style="text-align:center; color:#FF0000;">Veuillez choisir un destinataire ! Merci.<br /><br /></div>',"\r\n"; } /* * 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; // les 4 variables sont remplies, if (($nom != '') && ($email != '') && ($objet != '') && ($message != '')) { // On génère donc 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('<br>','',$message); $message = str_replace('','',$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.' '."\n"; $err_formulaire = true; }; }; // fin du if (!isset($_POST['envoi'])) if (($err_formulaire) || (!isset($_POST['envoi']))) { // afficher le formulaire ?> <form id="contact" method="post" action="<?php echo($_SERVER['PHP_SELF']);?>"> <fieldset> <label for="choixMail">Destinataire <span class="rouge">*</span> :</label> <select id="choixMail" name="choixMail"> <option value="0" selected="selected">Choisissez un destinataire...</option> <option value="Tout le monde">Tout le monde</option> <?php foreach($listeDesMails as $prenom => $adresseMail){ echo '<option value="',$prenom,'">',$prenom,'</option>',"\r\n"; } ?> </select> <p> <label for="nom">Votre nom <span class="rouge">*</span> : </label> <input type="text" id="nom" name="nom" tabindex="1" value="<?php echo(htmlentities(stripslashes($_POST[nom]))); ?>"/></p><br /> <p> <label for="email">Votre mail <span class="rouge">*</span> : </label> <input type="text" id="email" name="email" tabindex="2" value="<?php echo(htmlentities(stripslashes($_POST[email]))); ?>" /></p><br /> </fieldset> <fieldset> <br /> <p> <label for="objet">Objet du message <span class="rouge">*</span> : </label> <input type="text" id="objet" name="objet" tabindex="3" size="40" value="<?php echo(htmlentities(stripslashes($_POST[objet]))); ?>"/></p><br /> <p> <label for="message">Message <span class="rouge">*</span> : </label> <textarea id="message" name="message" tabindex="4" cols="70" rows="8"><?php echo(htmlentities(stripslashes($_POST[message]))); ?></textarea> </p><br /> <p class="contenu">Merci de vérifier que vous avez rempli tous les champs <br />du formulaire.</p> <br /><br /><br /> </fieldset> <br /><br /> <div style="text-align:center;"><input type="submit" name="envoi" value="Valider" /></div> </form>
par stealth35 » 14 juin 2010, 13:46
J'utilise notepad++
par gmarcilly » 14 juin 2010, 13:33
par stealth35 » 14 juin 2010, 13:15
Bonjour, Merci Stealth pour ton aide. Désolé pour l'attente. Je ne pouvais pas te répondre plus tôt. J'ai supprimé la ligne dont tu m'as parlé. Il y a toujours la même erreur. J'ai supprimé tout le paragraphe: pareil. Peux-tu me dire quelle est exactement l'erreur car je ne suis pas très bon en php ? Si quelqu'un a une autre idée ? Merci d'avance