qunqun | Bonjour a tous, J'héberge sur un RPS (OVH) un site possédant un formulaire d'envois de mail en php. Chaque fois qu'il est utilisé, l'email envoyé s'affiche en html (qu'il soit lu par un webmail, Thunderbird ou Outlook) et je n'arrive pas a trouver d'ou viens le problème. Si cela peut aider, malgré le fait que j'ai spécifié un expéditeur dans le code, l'email illisible s'affiche avec anonymous@rpsxxxx.ovh.net
Code :
- <?php
- //print_r($_POST);
- $prenom = '';
- $nom= '';
- $adresse= '';
- $Field10= '';
- $ville= '';
- $cp= '';
- $pays= 'France';
- $telfixe= '';
- $telport= '';
- $telfax= '';
- $email= '';
- $radioDefault_223= '';
- $Field223_0= '';
- $Field223_1= '';
- $Field224_0= '';
- $Field224_1= '';
- $Field224_2= '';
- $Field225_1= '';
- $Field225_2= '';
- $Field226_1= '';
- $Field226_2= '';
- $Field227_1= '';
- $Field227_2= '';
- $Field228_1= '';
- $Field228_2= '';
- $Field229_1= '';
- $Field229_2= '';
- $Field230_1= '';
- $Field230_2= '';
- $Field231_1= '';
- $Field231_2= '';
- $Field232_1= '';
- $Field232_2= '';
- $Field233_1= '';
- $Field233_2= '';
- $radioDefault_328= '';
- $Field328_0= '';
- $Field328_1= '';
- $Field328_2= '';
- $Field328_other= '';
- $comment= '';
- $erreurs = '';
- //vérification formulaire
- if (isset($_POST['formulaire']) and $_POST['formulaire'] === 'ok' ) {
- //echo 'form ok <br />';
- //antispam
- if(isset($_POST['url']) && !empty($_POST['url']))
- {
- header('location:index.html');
- exit();
- }
- // données à réafficher si erreurs
- foreach ($_POST as $k => $v) {
- ${$k} = $v;
- }
- // variables générales
- $go_index = "http://www.nomdedomaine.fr";
- $page_actuelle = "demande.php";
- $destinataire = "blabla@fai.fr";
- $objet = "Demande de documentation xxxxxx" ;
- $sqlhost = "localhost"; $sqluser = "xxxxxx"; $sqlmdp = "xxxxxx"; $sqlbase = "xxxxxx";
- // fin des paramètres
- mysql_connect ($sqlhost, $sqluser, $sqlmdp);
- mysql_select_db($sqlbase);
- // fin connexion base de donnée
- /*-----------------------
- ---CHAMPS OBLIGATOIRES---
- -----------------------*/
- $erreurs = array();
- //verif champ nom
- if ((empty($_POST['nom'])) || (strlen($_POST['nom'])<2)) {
- $erreurs['nom'] = 'Veuillez remplir votre nom';
- }
- //verif champ prenom
- if ((empty($_POST['prenom'])) || (strlen($_POST['prenom'])<2)) {
- $erreurs['prenom'] = 'Veuillez remplir votre prénom';
- }
- //verif champ rue
- if ((empty($_POST['rue'])) || (strlen($_POST['rue'])<2)) {
- $erreurs['rue'] = 'Veuillez remplir votre adresse';
- }
- //verif champ code postal
- if ((empty($_POST['cp'])) || (strlen($_POST['cp'])<2)) {
- $erreurs['cp'] = 'Veuillez remplir votre code postal';
- }
- //verif champ ville
- if ((empty($_POST['ville'])) || (strlen($_POST['ville'])<2)) {
- $erreurs['ville'] = 'Veuillez remplir votre ville';
- }
- //verif champ pays
- if (empty($_POST['pays'])) {
- $erreurs['pays'] = 'Veuillez remplir votre pays';
- }
- //verif champ téléphone
- if ((empty($_POST['telfixe'])) && (empty($_POST['telport']))) {
- $erreurs['telephone'] = 'Veuillez remplir le champ téléphone portable ou téléphone fixe';
- }
- //verif champ mail
- if (!preg_match('`^[[:alnum:]]([-_..]?[[:alnum:]])*@[[:alnum:]]([-_..]?[[:alnum:]])*.([a-z]{2,4})$`',$email)) {
- $erreurs['email'] = 'Veuillez corriger votre adresse email';
- }
- //print_r($erreurs);
- //si les champs obligatoires sont remplis
- if (count($erreurs) === 0) {
- //echo 'pas d'erreurs<br />';
- //ENVOI DU MAIL
- $message = "<html>
- <head>
- <title>Demande de documentation xxxxxx</title>
- </head>
- <body>
- Nom : $nom <br />
- Prenom : $prenom <br />
- Adresse e-mail : $email <br />
- <br />
- Rue : $rue <br />
- Adresse : $adresse <br />
- CP : $cp <br />
- Ville : $ville <br />
- Pays : $pays <br />
- <br />
- telFixe : $telfixe <br />
- telPort : $telport <br />
- telFax : $telfax <br />
- <br />
- Documentation : $doc <br />
- Pour moi : $moi <br />
- Circuit : $circuit <br />
- Formule : $formule <br />
- <br />
- Contacter par : $contact_par <br />
- E-mail si besoin : $contact_email <br />
- <br />
- Commentaire : $commentaire <br />
- </body>
- </html>";
- $entete = "MIME-Version: 1.0rn";
- $entete .= "Content-type: text/html; charset=iso-8859-1rn";
- $entete .= "From: ".$email."rn";
- // échappement des données pour éviter les injections SQL
- foreach ($_POST as $k => $v) {
- ${$k} = mysql_real_escape_string($v);
- }
- // enregistrement Base de Donnée
- $prenom= utf8_encode($prenom);
- $nom= utf8_encode($nom);
- $email= utf8_encode($email);
- $rue= utf8_encode($rue);
- $adresse= utf8_encode($adresse);
- $cp= utf8_encode($cp);
- $ville= utf8_encode($ville);
- $pays= utf8_encode($pays);
- $telfixe= utf8_encode($telfixe);
- $telport= utf8_encode($telport);
- $telfax= utf8_encode($telfax);
- $doc= utf8_encode($doc);
- $moi= utf8_encode($moi);
- $formule= utf8_encode($formule);
- $contact_par= utf8_encode($contact_par);
- $contact_email= utf8_encode($contact_email);
- $commentaire= utf8_encode($commentaire);
- $copie= utf8_encode($copie);
- $req = 'INSERT INTO `documentation` VALUES("", "'.$prenom.'","'.$nom.'","'.$email.'","'.$rue.'","'.$adresse.'","'.$cp.'","'.$ville.'","'.$pays.'",
- "'.$telfixe.'","'.$telport.'","'.$telfax.'","'.$doc.'",
- "'.$moi.'","'.$formule.'","'.$contact_par.'","'.$contact_email.'", "'.$commentaire.'", "'.$copie.'", NOW() )';
- $sql = mysql_query($req) or die ('Erreur Ex825'); // Code Erreur MYSQL
- if(mail($destinataire, $objet, $message, $entete))
- {
- // on vide les variables dynamiques
- foreach ($_POST as $k => $v) {
- unset(${$k});
- $envoi = "ok";
- }
- }
- }
- }
- ?>
| Si vous avez une petite idée Merci Message édité par qunqun le 04-04-2011 à 12:26:26
|