Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2569 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Erreur lors de l'envoie d'un formulaire par mail

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur lors de l'envoie d'un formulaire par mail

n°1992203
B4RL1V3
Posté le 11-05-2010 à 16:29:30  profilanswer
 

Bonjour,
J'ai ajouter un formulaire à envoyer sur mon e-mail dans mon site et lorsque je clique sur envoyer j'ai se message d'erreur,
pourtant je reçoit bien le mail.

Code :
  1. Warning: trim() expects parameter 1 to be string, array given in C:\wamp\www\uikl\traitement.php on line 31
  2. Notice: Undefined index: email in C:\wamp\www\uikl\traitement.php on line 45
  3. Notice: Undefined index: email in C:\wamp\www\uikl\traitement.php on line 46
  4. Votre demande a bien �t� prise en compte.


 
J'ai bien modifier le fichier php.ini pour pouvoir recevoir les mails.
 
Voici le code du formulaire:

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2.                        "http://www.w3.org/TR/REC-html40/loose.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6. <title>Mon formulaire.</title>
  7. </head>
  8. <body>
  9. <form method="post" action="traitement.php">
  10. <p class="titre">Coordonnées</p>
  11. <fieldset id="coordonnees">
  12.   <p id="civilite"><label>Civilité : </label>
  13.     <input type="radio" name="civilite" value="M." />M.
  14.     <input type="radio" name="civilite" value="Mlle" />Mlle
  15.     <input type="radio" name="civilite" value="Mme" />Mme
  16.   </p>
  17.   <label>Nom : </label>
  18.     <input type="text" name="nom" size="30" /><br />
  19.   <label>Adresse : </label>
  20.     <input type="text" name="adresse" size="30" /><br />
  21.   <label>Code postal : </label>
  22.     <input type="text" name="codepostal" size="30" /><br />
  23.   <label>Ville : </label>
  24.     <input type="text" name="ville" size="30" /><br />
  25.   <label>Pays : </label>
  26.     <select name="pays">
  27.       <option value="france">France</option>
  28.       <option value="belgique">Belgique</option>
  29.       <option value="suisse">Suisse</option>
  30.     </select>
  31.   <p id="interets"><label>Centres d'intérêts : </label>
  32.     <input type="checkbox" name="interets[]" value="sport" />Sport
  33.     <input type="checkbox" name="interets[]" value="cinema" />Cinéma<br />
  34.     <input type="checkbox" name="interets[]" value="internet" />Internet
  35.     <input type="checkbox" name="interets[]" value="voyages" />Voyages
  36.   </p>
  37. </fieldset>
  38. <p class="titre">Message</p>
  39. <fieldset id="message">
  40.   <textarea name="comments" rows="5" cols="40"></textarea>
  41. </fieldset>
  42. <p id="buttons">
  43.   <input type="submit" value="Envoyer" />
  44.   <input type="reset" value="Recommencer" />
  45. </p>
  46. </form>
  47. </body>
  48. </html>


 
Et voici le code qui traite l'envoie:

Code :
  1. <?php
  2. $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
  3. $msg_ok = "Votre demande a bien été prise en compte.";
  4. $message = $msg_erreur;
  5. define('MAIL_DESTINATAIRE','webmaster@mon-domaine');
  6. define('MAIL_SUJET','Sujet du formulaire!');
  7. if (empty($_POST['civilite']))
  8. $message .= "Votre civilité<br/>";
  9. if (empty($_POST['nom']))
  10. $message .= "Votre nom<br/>";
  11. if (empty($_POST['adresse']))
  12. $message .= "Votre adresse<br/>";
  13. if (empty($_POST['codepostal']))
  14. $message .= "Votre code postal<br/>";
  15. if (empty($_POST['ville']))
  16. $message .= "Votre ville<br/>";
  17. if (empty($_POST['comments']))
  18. $message .= "Votre message<br/>";
  19. if (strlen($message) > strlen($msg_erreur)) {
  20.   echo $message;
  21. } else {
  22. foreach($_POST as $index => $valeur) {
  23. $$index = stripslashes(trim($valeur));
  24. }
  25. $interets = $_POST['interets'];
  26. $sqlinterets = '';
  27. for ($i=0; $i<count($interets); $i++)
  28. {
  29. $sqlinterets .= $interets[$i];
  30. $sqlinterets .= ', ';
  31. }
  32. $mail_entete = "MIME-Version: 1.0\r\n";
  33. $mail_entete .= "From: {$_POST['nom']} "
  34.              ."<{$_POST['email']}>\r\n";
  35. $mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
  36. $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
  37. $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
  38. $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
  39. $mail_corps = "Message de : $civilite $nom\n";
  40. $mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n";
  41. $mail_corps .= "Ses centres d'intérêts : $sqlinterets\n\n\n";
  42. $mail_corps .= $comments;
  43. if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
  44.   echo $msg_ok;
  45. } else {
  46.   echo 'Une erreur est survenue lors de l\'envoi du formulaire par email';
  47. }
  48. }
  49. ?>


 
Si quelqu'un pourrait me dire pourquoi j'ai cette erreur et m'aider à la corriger sa ne serait pas de refus :)
Merci d'avance,

mood
Publicité
Posté le 11-05-2010 à 16:29:30  profilanswer
 

n°1992220
stealth35
Posté le 11-05-2010 à 17:00:24  profilanswer
 

t'as un $ de trop ligne 28 et comme interets est une liste tu peux pas lui faire un trim comme ca

n°1992227
B4RL1V3
Posté le 11-05-2010 à 17:17:50  profilanswer
 

Merci d'avoir répondu mais je connais pas trop le php encore.
Je prends actuellement des cours, enfaite j'ai pris les codes sur un site donc si tu pouvais m'aider sa serait cool,
puis par la suite je vais modifier se code pour que le formulaire corresponde à se que je veux.

n°1992284
B4RL1V3
Posté le 11-05-2010 à 21:17:38  profilanswer
 

C'est bon j'ai trouvé, ça marche nikel par contre lorsque je suis dans ma boîte mail et que j'ouvre le message on me dit:
 

Ce message a été bloqué par mesure de sécurité. Ouvrir le message.


 
Pourquoi? et comment faire pour qu'il ne s'affiche plus car c'est assé embêtant.
Merci,

n°1992716
B4RL1V3
Posté le 12-05-2010 à 18:38:34  profilanswer
 

up svp

n°1993652
B4RL1V3
Posté le 17-05-2010 à 13:17:43  profilanswer
 

svp une réponse ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Erreur lors de l'envoie d'un formulaire par mail

 

Sujets relatifs
probleme avec la fonction mail[HTML2PDF] Formulaire création PDF
Critères de Choix pour tri sur un Formulairecompilation erreur
Variable issue d'un formulaire nulleWAMP en Local - Erreur 403 Forbiden ?
Erreur avec sqlRelecture de formulaire à ligne variable
Problème formulaireodtPHP : erreur étrange (fichier odt défectueux)
Plus de sujets relatifs à : Erreur lors de l'envoie d'un formulaire par mail


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR