Aller au contenu

Antho03

Actif
  • Compteur de contenus

    25
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par Antho03

  1. Salut, Merci pour ta réponse ! J'intégrerai la solution que tu me proposes et je reviendrai pour te dire si c'est bon ou pas.
  2. Bonjour à tous, J'ai créé un formulaire d'inscription comprenant des cases à cocher. Je souhaiterai intégrer des sessions pour récupérer les infos entrées par l'utilisateur si ce dernier doit revenir sur le formulaire suite à l'insertion de mauvaises données. Pour les champs textes et radio il n'y a aucun soucis, cependant je bute sur les cases à cocher. Voilà mon code : <input type="checkbox" name="projets_vises[]" id="projets_vises[]" value="créations d'entreprises" /> Création d'entreprises<br /> <input type="checkbox" name="projets_vises[]" id="projets_vises[]" value="Projet innovants / fort potentiel" /> Projet innovants / fort potentiel<br /> <input type="checkbox" name="projets_vises[]" id="projets_vises[]" value="Transmission / reprise dentreprise" /> Transmission / reprise dentreprise<br /> <input type="checkbox" name="projets_vises[]" id="projets_vises[]" value="Economie sociale et solidaire" /> Economie sociale et solidaire<br /> <input type="checkbox" name="projets_vises[]" id="projets_vises[]" value="Projet coopératif (création ou reprise dentreprise)" /> Projet coopératif (création ou reprise dentreprise) Dans ma page de traitement : $_SESSION['projets_vises'] = implode(",", $_POST['projets_vises']); Pour info, je pensais utilisais le même bout de code que pour mes radio : <?php if($_SESSION['type_organisme']=='Association') {echo 'checked="checked"';}?> Mais si je fais ça pour mes cases à cocher, le nombre de tests à faire va être sans fin. Auriez-vous un bout de code à me proposer ou pouvez-vous me guider ? Merci d'avance
  3. Antho03

    problème "if - else"

    J'ai utilisé ton code et escapé les données. Tout est nikel. Merci beaucoup pour ta contribution.
  4. Antho03

    problème "if - else"

    J'ai modifié mon code suite à vos conseils : if ($nl == "oui") { mysql_query("insert into spip_nl (id, Nom, Prenom, email) values('', '".$nom."', '".$prenom."', '".$email."')"); mail($cible, $objet, $contenu, $headers); echo '<p style="padding:5px 0 8px 5px;">'.$message_envoye1.'</p>'."\n"; } else if ($nl != "oui") { mail($cible, $objet, $contenu, $headers); echo '<p style="padding:5px 0 8px 5px;">'.$message_envoye2.'</p>'."\n"; } else { echo '<p style="padding:5px 0 8px 5px;">'.$message_non_envoye.'</p>'."\n\n\n"; } } else { // une des 3 variables (ou plus) est vide ... echo '<p style="padding-left:5px; color:#BF0D0D">'.$message_formulaire_invalide.'</p>'."\n"; $err_formulaire = true; }; }; et tout fonctionne comme je veux. Merci beaucoup pour votre aide !
  5. Antho03

    problème "if - else"

    J'y pensais à ça, mais il est impossible d'imbriquer plusieurs "else" dans un seul "if" ?
  6. Antho03

    problème "if - else"

    Bonjour à tous, Je demande votre aide car j'ai un petit soucis de codage : mon code : if (mail($cible, $objet, $contenu, $headers) && ($nl == "oui")) { mysql_query("insert into spip_nl (id, Nom, Prenom, email) values('', '".$nom."', '".$prenom."', '".$email."')"); echo '<p style="padding:8px 0 8px 5px;">'.$message_envoye1.'</p>'."\n"; } else { echo '<p style="padding:8px 0 8px 5px;">'.$message_envoye2.'</p>'."\n"; } else { echo '<p>'.$message_non_envoye.'</p>'."\n\n\n"; } } else { // une des 3 variables (ou plus) est vide ... echo '<p style="padding-left:5px;">'.$message_formulaire_invalide.'</p>'."\n"; $err_formulaire = true; }; }; Quand je mets ces lignes dans mon code, l'erreur suivante est retournée : Parse error: parse error, unexpected T_ELSE in D:... : eval()'d code on line 153 La ligne 153 correspond à la ligne où se situe mon second "else". Si j'enlève cet "else", le code est bon. Je suis sur que ce n'est pas grand chose mais n'étant pas spécialiste du PHP, je bloque. Merci pour vos lumières.
  7. Ok. Pour remplir mes champs, je fais une requête qui va chercher l'info dans la BDD et affiche la variable dans le "value". Mon code : //requête récupérant la raison sociale de l'entreprise $raisonsoc = mysql_query("SELECT raison_sociale FROM annuaire WHERE id='$ident'"); et dans le formulaire : <?php while($resultat = mysql_fetch_row($raisonsoc)) { echo '<input style="font-family:calibri; font-size:14px;" type="text" name="Zraison_soc" value="' . $resultat[0] .'" />'; } ?> Voilà, c'est plus en JS mais si ça peut aider quelqu'un...
  8. Bonjour, J'ai créé un formulaire que je souhaite remplir dynamiquement avec des infos présentes en BDD. Pour cela, je fais une requete qui va chercher l'info dans la BDD et affiche la variable dans le "value". Mon code : //requête récupérant la raison sociale de l'entreprise $raisonsoc = mysql_query("SELECT raison_sociale FROM annuaire WHERE id='$ident'"); et dans le formulaire : <?php while($resultat = mysql_fetch_row($raisonsoc)) { echo '<input style="font-family:calibri; font-size:14px;" type="text" name="Zraison_soc" value="' . $resultat[0] .'" />'; } ?> Pour les champs texte, je n'ai pas de soucis. Cependant je bloque sur les listes déroulantes. J'ai un code particulier pour les variables de session : <? $liste_dep = array("", "Ariège (09)", "Aveyron (12)", "Haute-Garonne (31)", "Gers (32)", "Lot (46)", "Hautes-Pyrénées (65)", "Tarn (81)", "Tarn-et-Garonne (82)"); echo' <select style="color: #000; font-size:14px; font-family: calibri;" name="Zdepartement" id="dep">'; foreach ($liste_dep as $value=>$label) { if ($label == $_SESSION['form']['Zdepartement']) { $selected = ' selected="selected"'; } else { $selected = ''; } echo '<option' . $selected . ' value="' . $label . '">' . $label . '</option>'; } echo '</select>'; ?> Je ne sais pas comment il faut placer le code pour que le département sélectionné soit celui présent dans ma BDD. Merci d'avance
  9. Merci pour ta réponse. Ca ne fonctionne pas. J'ai trouvé cependant un autre moyen pour réaliser ce que je souhaite. Par ailleurs, la question pourrait être intéressante pour d'autres personnes. Dois-je mettre le sujet en "résolu" ? Merci
  10. Bonjour, J'ai réalisé un formulaire de saisie. Je souhaiterai pré-remplir des champs input type="text". Mon formulaire : <input id="rs" style="font-family:calibri; font-size:14px;" type="text" name="Zraison_soc" /> J'ai essayé avec ce code : document.getElementById("rs").elements["Zraison_soc"].value = 'test1'; mais ça ne marche pas. D'où vient le problème selon vous et/ou avez une autre piste à m'indiquer ? Merci
  11. C'était bien ça. Merci beaucoup camillejg !! Merci à Jacques aussi pour ses précisions.
  12. Bonjour, J'ai créé un formulaire avec entre autres des boutons radios et des textarea. Quand l'utilisateur à fait une erreur, je lui indique dans ma page de traitement dans laquelle j'ai placé un lien qui lui permet de revenir sur la page du formulaire. Je récupère les valeurs de mes différents champs (text, select) avec des variables de sessions sans pb. Je bloque seulement sur les radio et textarea. mon formulaire : <?php session_start(); ?> ... <form name=...> ... <input type="radio" name="Zgroupe" value="oui" <?php if($_POST['Zgroupe']=='oui') {echo 'checked="checked"';}?>/>oui <input type="radio" name="Zgroupe" value="non" <?php if($_POST['Zgroupe']=='non') {echo 'checked="checked"';}?>/>non <textarea name="Zautres_entre_groupe" cols="24" rows="5" value="<?php echo $_POST['Zautres_entre_groupe'] ;?>"></textarea> ... </form> ma page de traitement : <?php session_start(); ... $_SESSION['Zgroupe'] = $_POST['Zgroupe']; $_SESSION['Zautres_entre_groupe'] = $_POST['Zautres_entre_groupe']; ... ?> Mes valeurs ne sont pas récupérées avec ces bouts de code. J'ai écumé plusieurs forums disant que ce type de code fonctionne mais pas chez moi :??: Où je fais erreur ? Il ne me reste qu'à faire fonctionner ces 2 fonctions pour terminer mon formulaire... Merci pour votre aide
  13. Bonjour, je vous explique mon problème. J'ai créé un formulaire en intégrant des listes dynamiques liées. Ces listes sont constituées en appelant le contenu de 2 tables ("région" et "département" ) de ma BDD. La 2ème liste s'affiche en fonction du choix fait dans la 1ère. Je récupère les variables des listes et insère le contenu dans une 3ème table "annuaire" dans ma BDD. Jusque là, tout est ok. Voici le code de mon formulaire : <?php /* Requête SQL de récupération des données de la première liste */ $sql = "SELECT `id_region` AS idr, `region` ". "FROM `region` ". "ORDER BY `id_region`;"; /* Connexion et exécution de la requête */ $connexion = mysql_connect($serveur, $admin, $mdp); if($connexion != false) { $choixbase = mysql_select_db($base, $connexion); $recherche = mysql_query($sql, $connexion); /* Création du tableau PHP des valeurs récupérées */ $regions = array(); /* Index du département par tableau régional */ $id = 0; while($ligne = mysql_fetch_assoc($recherche)) { $regions[$ligne['idr']] = $ligne['region']; } ?> <form name="form" action="action.php" method="post" style="color: #333; font-size:14px;"> <table width="650" border="0" cellspacing="3"> <tr class="bleu"> <td> Région : <select name="Zregion" id="region" onChange="getSecteur1(this.value);"> <option value="vide">- - - Choisissez une région - - -</option> <?php /* Construction de la première liste : on se sert du tableau PHP */ foreach($regions as $nr => $nom) { ?> <option value="<?php echo($nr); ?>"><?php echo($nom); ?></option> <?php } ?> </select> <!-- on met un bloc avec un id ou va s'insérer le code de la seconde liste déroulande --> <span id="blocDepartements">Départements</span><br /> <? $rq="Select region from region where (id_region = '".$nr."')"; ?> </td></tr></table> </form> la liste département est générée par un fichier PHP (et un fichier JS également) : <?php /** * Code qui sera aeeplé par un objet XHR et qui * retournera la liste déroulante des départements * correspondant à la région sélectionnée. */ /* Paramètres de connexion */ $serveur = "localhost"; $admin = "*****"; $mdp = "*****"; $base = "*****"; /* On récupère l'identifiant de la région choisie. */ $idr = isset($_GET['idr']) ? $_GET['idr'] : false; /* Si on a une région, on procède à la requête */ if(false !== $idr) { /* Cération de la requête pour avoir les départements de cette région */ $sql2 = "SELECT `id_departement`, `departement`". " FROM `departement`". " WHERE `id_region` = ". $idr ."". " ORDER BY `id_departement`;"; $connexion = mysql_connect($serveur, $admin, $mdp); mysql_select_db($base, $connexion); $rech_dept = mysql_query($sql2, $connexion); /* Un petit compteur pour les départements */ $nd = 0; /* On crée deux tableaux pour les numéros et les noms des départements */ $code_dept = array(); $nom_dept = array(); /* On va mettre les numéros et noms des départements dans les deux tableaux */ while(false != ($ligne_dept = mysql_fetch_assoc($rech_dept))) { $code_dept[] = $ligne_dept['id_departement']; $nom_dept[] = $ligne_dept['departement']; $nd++; } /* Maintenant on peut construire la liste déroulante */ $liste = ""; $liste .= '<select name="Zdepartement" id="departement">'."\n"; for($d = 0; $d < $nd; $d++) { $liste .= ' <option value="'. $code_dept[$d] .'">'. htmlentities($nom_dept[$d]) .'</option>'."\n"; } $liste .= '</select>'."\n"; /* Un petit coup de balai */ mysql_free_result($rech_dept); /* Affichage de la liste déroulante */ echo($liste); } /* Sinon on retourne un message d'erreur */ else { echo("<p>Une erreur s'est produite. La région sélectionnée comporte une donnée invalide.</p>\n" ); } ?> Mon problème est le suivant : en récupérant les valeurs "Zregion" et "Zdepartement" dans les listes, ce sont les id qui sont enregistrés dans ma table et non pas les noms des départements et régions. La question que je me pose et sur laquelle je demande votre aide est : comment faire pour enregistrer les noms à la place des id ? J'ai pensé à une requête du genre : $rq="Select region from region where (id_region = '".$nr."')"; qui permettrait de changer l'id en nom mais 1: je ne suis pas sur qu'elle soit correcte et 2: je ne sais pas où la placer. Merci pour votre aide
  14. Il manquait en effet tout simplement l'appel des variables..., par exemple : $Zsecteur1 = htmlentities($_POST['Zsecteur1']); Merci Jacques
  15. Bonjour à tous, J'ai créé un formulaire d'inscription sur mon site et souhaite insérer les valeurs sélectionnées de ce dernier dans ma BDD. voici le code de mon formulaire : <form name="form" action="action.php" method="post"> <fieldset style="border: 3px double #333399"> <legend>Secteur d'activité</legend> <!-- Secteur 1 --> Secteur d'activité 1 : <select name="Zsecteur1" onChange="getSecteur1(this.value);"> <option value="vide">- - - Choisissez un secteur - - -</option> <?php /* Construction de la première liste : on se sert du tableau PHP */ foreach($regions as $nr => $nom) { ?> <option value="<?php echo($nr); ?>"><?php echo($nom); ?></option> <?php } ?> </select> <span id="blocDepartements">Sous-secteur</span><br /> <!-- Secteur 2 --> Secteur d'activité 2 : <select name="Zsecteur2" onChange="getSecteur2(this.value);"> <option value="vide">- - - Choisissez un secteur - - -</option> <?php /* Construction de la première liste : on se sert du tableau PHP */ foreach($regions as $nr => $nom) { ?> <option value="<?php echo($nr); ?>"><?php echo($nom); ?></option> <?php } ?> </select> <span id="blocDepartements2">Sous-secteur</span><br /> Adresse : <input type="text" name="Zadresse"> <input type="submit" name="ok" id="ok" value="Envoyer" /> </fieldset> </form> Ce formulaire est composé de 2 menus déroulants, appelant eux-mêmes un second menu déroulant en fonction du choix effectué dans le premier (AJAX) et d'un champ texte. voilà ensuite le fichier "action.php" : <?php echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n"); /* Variables de connexion */ $serveur = "localhost"; $admin = "******"; $mdp = "******"; $base = "******"; //connexion à la base _AT_mysql_connect($serveur, $admin, $mdp) or die("Impossible de se connecter au serveur de bases de données.".mysql_error()); //sélection de la base _AT_mysql_select_db($base) or die("Impossible de se connecter à la base de données.".mysql_error()); /* Enregistrement du formulaire dans la BDD */ $annuaire = mysql_query("insert into spip_annuaire (secteur1,secteur2,sous_secteur1,sous_secteur2,adresse) values('".$Zsecteur1."','".$Zsecteur2."','".$Zsous_secteur1."','".$Zsous_secteur2."','".$Zadresse."')"); echo $annuaire; ?> Ma requête est effectuée correctement (test avec des alert) et insère une ligne dans ma table mais avec des champs vides. J'ai testé ma requête directement dans PHP My Admin, elle fonctionne correctement. J'ai mis la valeur "adresse" en dur dans ma requête dans action.php, elle apparait bien dans la BDD. "echo $annuaire;" m'affiche systématiquement "1" Le problème vient donc à mon avis de la récupération des variables du formulaire et là...je bloque complétement. Pour info, la récupération des variables "sous_secteur1" et "sous_secteur2" est générée grâce à un autre fichier php. Merci pour votre aide
  16. C'est ok. la ligne modifiée est $headers .= 'From: '.utf8_decode($prenom).' '.utf8_decode($nom).' <'.$email.'>' . "\r\n"; (si ça peut servir à d'autres personnes) Merci beaucoup pour votre aide !
  17. Je reviens vers vous car mon problème n'est pas réglé entièrement. Je me suis aperçu que le header de mon mail ne gérait pas les caractères spéciaux... J'ai essayé de rajouter $nom = utf8_decode($nom); et $prenom = utf8_decode($prenom); mais si je mets cette ligne dans mon code, le header est ok mais les caractères spéciaux ne sont plus gérés dans le corps du mail pour le nom et le prénom. j'ai un peu modifié mon code, je vous le remets : <?php /* ******************************************************************************************** CONFIGURATION ******************************************************************************************** */ // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule $destinataire = 'nom_AT_fai.com'; // 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 = "Votre message a bien été envoyé"; $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 soit 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. $civilite = (isset($_POST['civilite'])) ? Rec($_POST['civilite']) : ''; $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : ''; $prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : ''; $email = (isset($_POST['email'])) ? Rec($_POST['email']) : ''; $telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : ''; $lieu = (isset($_POST['lieu'])) ? Rec($_POST['lieu']) : ''; $secteur = (isset($_POST['secteur'])) ? Rec($_POST['secteur']) : ''; $projet = (isset($_POST['projet'])) ? Rec($_POST['projet']) : ''; $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 != '') && ($projet != '') && ($lieu != '') && ($secteur != '') && ($message != '')) { // les 4 variables sont remplies, on génère puis envoie le mail $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/plain; charset=UTF-8' . "\r\n"; $headers .= 'From: '.$prenom.' '.$nom.' <'.$email.'>' . "\r\n"; $contenu = "Civilité : ".stripslashes($civilite)."\n\n"; $contenu .= "Nom : ".stripslashes($nom)."\n\n"; $contenu .= "Prénom : ".stripslashes($prenom) ."\n\n"; $contenu .= "Téléphone : ".stripslashes($telephone) ."\n\n"; $contenu .= "Type de projet : ".stripslashes($projet) ."\n\n"; $contenu .= "Lieu d'implantation géographique : ".stripslashes($lieu) ."\n\n"; $contenu .= "Secteur d'activité : ".stripslashes($secteur) ."\n\n\n"; $contenu .= "Message :"."\n\n".stripslashes( $message); $cible = $destinataire; $objet2 = "Demande d'informations - formulaire site web"; $objet = utf8_decode($objet2); // Remplacement de certains caractères spéciaux $contenu = html_entity_decode($contenu); $contenu = str_replace(''',"'",$contenu); $contenu = str_replace('’',"'",$contenu); $contenu = str_replace('<br>','',$contenu); $contenu = str_replace('<br />','',$contenu); // Envoi du mail if (mail($cible, $objet, $contenu, $headers)) { echo '<p style="padding:8px 0 8px 5px;">'.$message_envoye.'</p>'."\n"; } else { echo '<p>'.$message_non_envoye.'</p>'."\n\n\n"; }; } else { // une des 3 variables (ou plus) est vide ... echo '<p style="padding-left:5px;">'.$message_formulaire_invalide.'</p>'."\n"; $err_formulaire = true; }; }; // fin du if (!isset($_POST['envoi'])) ?> <?php if (($err_formulaire) || (!isset($_POST['envoi']))) { // afficher le formulaire echo '<form style="padding: 0px 5px 5px 5px;" id="contact" method="post" action="'.$form_action.'">'."\n"; echo ' <fieldset><legend style="color:#333"><b>Vos coordonnées</b></legend>'."\n";?> <table width="500" border="0" cellspacing="8" cellpadding="0" style="padding-left:60px;"> <tr><td> <label for="civilite">Civilité* :</label></td> <td><select id="civilite" name="civilite" value="<? '.stripslashes($civilite).' ?>" tabindex="1" /> <option selected="selected">M.</option> <option>Mme</option> <option>Melle</option> </select> </td></tr> <tr><td> <label for="nom">Nom* :</label></td> <td><input type="text" id="nom" name="nom" value="<? '.stripslashes($nom).' ?>" tabindex="2" /></td></tr> <tr> <td><label for="prenom">Prénom :</label></td> <td><input type="text" id="prenom" name="prenom" value="<? '.stripslashes($prenom).' ?>" tabindex="3" /></td></tr> <tr><td> <label for="email">Email* :</label></td> <td><input type="text" id="email" name="email" value="<? '.stripslashes($email).' ?>" tabindex="4" /></td></tr> <tr><td> <label for="telephone">Téléphone :</label></td> <td><input type="text" id="telephone" name="telephone" value="<? '.stripslashes($telephone).'?>" tabindex="5" /></td></tr> <tr><td> <label for="projet">Type de projet* :</label></td> <td><select id="projet" name="projet" value="<? '.stripslashes($projet).'?>" tabindex="7" /> <option selected="selected">création d'entreprise</option> <option>reprise d'entreprise</option> <option>transmission d'entreprise</option> <option>autres</option> </select></td></tr> <tr><td align="left"> <label for="lieu">Lieu d'implantation géographique* :</label></td> <td><input type="text" id="lieu" name="lieu" value="<? '.stripslashes($lieu).'?>" tabindex="6" /></td></tr> <tr><td> <label for="secteur">Secteur d'activité* :</label></td> <td><input type="text" id="secteur" name="secteur" value="<? '.stripslashes($secteur).'?>" tabindex="6" /></td></tr> </table> </fieldset> <fieldset style="padding-top:10px"> <legend style="color: #333"><i><b>Décrivez ici votre projet en quelques lignes ainsi que l'objet de votre demande</b></i></legend> <table width="500" border="0" cellspacing="0" cellpadding="0" style="padding-top:10px"> <tr><td valign="top"style="padding-left:59px;"> <label for="message">Message* :</label></td> <td style="padding-left:8px;"><textarea id="message" name="message" tabindex="9" cols="45" rows="8"><? '.stripslashes($message).'?></textarea></td></tr> </table> </fieldset> <span style="padding:3px 0 3px 1px; color:#BB0F0B; font-size: 10px"><?php echo "Les champs pourvus d'une * doivent être remplis";?></span> <div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer " /></div> </form> <? }; ?> Merci d'avance
  18. Je viens de trouver. Il fallait rajouter la ligne $objet = utf8_decode($objet); Mon formulaire est enfin fonctionnel ! Merci beaucoup à vous 2 de m'avoir aidé.
  19. Je reviens vers vous. Je ne trouve pas la bonne ligne de code à ajouter. J'ai mis $objet .= 'Content-type: text/plain; charset=UTF-8' . "\r\n"; mais ce n'est pas ça. Pouvez-vous m'indiquer quelle ligne il faut mettre svp ? Désolé d'être une buse en PHP Merci
  20. Merci pour vos réponses. J'ai rajouté la ligne $headers .= 'Content-type: text/plain; charset=UTF-8' . "\r\n"; dans mon code. L'encodage est bon à présent sauf pour l'objet du mail qui prend le mauvais encodage pour les caractères spéciaux. J'ai essayé de comprendre pourquoi mais je sèche. D'où cela peut-il venir ? Merci d'avance
  21. Bonjour, J'ai réalisé un formulaire de contact pour mon site. Il fonctionne correctement, le mail est bien envoyé mais à la réception dans mon client de messagerie, les caractères spéciaux tels que "à", "é" sont remplacés par "é" ou encore Ã". Quel est le bout de code à rajouter pour encoder correctement le mail de mon formulaire ? voici mon code : <?php /* ******************************************************************************************** CONFIGURATION ******************************************************************************************** */ // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule $destinataire = 'nom_AT_fai.com'; // 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 = "Votre message a bien été envoyé"; $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 soit 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. $civilite = (isset($_POST['civilite'])) ? Rec($_POST['civilite']) : ''; $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : ''; $prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : ''; $email = (isset($_POST['email'])) ? Rec($_POST['email']) : ''; $telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : ''; $lieu = (isset($_POST['lieu'])) ? Rec($_POST['lieu']) : ''; $secteur = (isset($_POST['secteur'])) ? Rec($_POST['secteur']) : ''; $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: '.$prenom.' '.$nom.' <'.$email.'>' . "\r\n"; $contenu = "Civilité : ".stripslashes($civilite)."\n\n"; $contenu .= "Nom : ".stripslashes($nom)."\n\n"; $contenu .= "Prénom : ".stripslashes($prenom) ."\n\n"; $contenu .= "Téléphone : ".stripslashes($telephone) ."\n\n"; $contenu .= "Lieu d'implantation géographique : ".stripslashes($lieu) ."\n\n\n"; $contenu .= "Message :"."\n\n".stripslashes( $message); $cible = $destinataire; // Remplacement de certains caractères spéciaux $contenu = html_entity_decode($contenu); $contenu = str_replace(''',"'",$contenu); $contenu = str_replace('’',"'",$contenu); $contenu = str_replace('<br>','',$contenu); $contenu = str_replace('<br />','',$contenu); // Envoi du mail if (mail($cible, $objet, $contenu, $headers)) { echo '<p>'.$message_envoye.'</p>'."\n"; } else { echo '<p>'.$message_non_envoye.'</p>'."\n\n\n"; echo "<a href='http://www.entreprendre.midipyrenees.fr/spip.php?auteur1003'>Retourner au formulaire de contact</a>"; }; } 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 style="padding: 5px 5px 5px 5px;" id="contact" method="post" action="'.$form_action.'">'."\n"; echo ' <fieldset><legend>Vos coordonnées</legend>'."\n"; echo ' <p>'."\n"; echo ' <label for="civilite">Civilité :</label>'."\n"; echo ' <select id="civilite" name="civilite" value="'.stripslashes($civilite).'" tabindex="1" /> <option selected="selected">M.</option> <option>Mme</option> <option>Melle</option> </select>'."\n"; echo ' </p>'."\n"; echo ' <p>'."\n"; echo ' <label for="nom">Nom :</label>'."\n"; echo ' <input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="2" />'."\n"; echo ' </p>'."\n"; echo ' <p>'."\n"; echo ' <label for="prenom">Prénom :</label>'."\n"; echo ' <input type="text" id="prenom" name="prenom" value="'.stripslashes($prenom).'" tabindex="3" />'."\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="4" />'."\n"; echo ' </p>'."\n"; echo ' <p>'."\n"; echo ' <label for="telephone">Téléphone :</label>'."\n"; echo ' <input type="text" id="telephone" name="telephone" value="'.stripslashes($telephone).'" tabindex="5" />'."\n"; echo ' </p>'."\n"; echo ' <p>'."\n"; echo ' <label for="lieu">Lieu d\'implantation géographique :</label>'."\n"; echo ' <input type="text" id="lieu" name="lieu" value="'.stripslashes($lieu).'" tabindex="6" />'."\n"; echo ' </p>'."\n"; echo ' <label for="secteur">Secteur d\'activité :</label>'."\n"; echo ' <select id="secteur" name="secteur" value="'.stripslashes($secteur).'" tabindex="7" /> <option selected="selected">Textile</option> <option>Batiment</option> <option>TIC</option> </select>'."\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="8" />'."\n"; echo ' </p>'."\n"; echo ' <p>'."\n"; echo ' <label style="float:left; padding-right:4px" for="message">Message :</label>'."\n"; echo ' <textarea id="message" name="message" tabindex="9" 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"; }; ?> J'ai essayé avec htmlentities et écumé plusieurs forums, je n'ai rien trouvé... Je débute en PHP et je m'y casse les dents là. Je précise que mon site est réalisé sous SPIP (si ça peut avoir une incidence...) D'avance merci pour votre réponse
  22. Je te remercie pour ta réponse et vais me plonger dans les pages que tu m'as donné. Si quelqu'un a déjà été confronté à ce problème et qu'il détient LE code ou LA solution miracle, je suis tout de même preneur :-) Merci
  23. Bonjour, Je suis entrain d'intégrer un e-mailing et confronté à un problème d'interprétation des différents clients de messagerie sur l'affichage de la bordure autour d'une image comprenant un lien hypertexte. Cette bordure s'affiche sur gmail et yahoo alors que sur hotmail et Lotus Notes (c'est le monde à l'envers) c'est ok. J'ai testé les 3 codes ci-dessous mais rien ne change : 1. <td><a href=&quot;http://www.google.fr" style="border:none; text-decoration: none;"><img src="haut.gif" width="600" height="114" border="0" /></a> 2. </td> 1. <td><a href=&quot;http://www.google.fr"><img src="haut.gif" width="600" height="114" border="0" style="border:none; text-decoration: none;" /></a> 2. </td> 1. <td><a href=&quot;http://www.google.fr"><img src="haut.gif" width="600" height="114" border="0" /></a> 2. </td> Si j'enlève le lien sur mon image, la bordure n'apparait plus. Je me casse les dents sur ce problème. Merci par avance pour vos réponses car je débute en intégration d'e-mailing et je m'aperçois des joies que cela entraine...
  24. Antho03

    Flux RSS et mailing

    Vous n'avez peut-être pas tort mais l'utilisateur peut se désinscrire à tout moment, donc c'est lui qui gère. Si ça intéresse, Feedburner (by Google) permet de faire tout ce que j'ai indiqué dans mon 1er post.
  25. Antho03

    Flux RSS et mailing

    Bonjour à tous, J'ai récemment installé un flux rss sur le site de mon entreprise. Je souhaiterais qu'un mail automatique soit envoyé à une liste de diffusion dès qu'une nouvelle news est mise en ligne. Je sais qu'il existe des sites tels que "feed my inbox" permettant d'envoyer des flux rss par mail mais ils ne permettent pas de réaliser précisément ce que je souhaite. Si quelqu'un a une solution ou peut m'aiguiller, je suis preneur . Merci d'avance
×
×
  • Créer...