Probleme fonction mail() en Php

Résolu
Bonjour,
je souhaiterai envoyer le resultat d'une requete par mail.
dans ma page d'affichage de la requete j'ai ceci :
echo '<form action="formulairebeta.php" method="post">';
 echo '<font size="2" face="Arial" >';
 
echo '<table bgcolor="#FFFFFF" border="0" align="center">'."\n"; 
// première ligne on affiche les titres dans 4 colonnes 
echo '<tr>'; 


 

echo '</tr>'."\n"; 
// lecture et affichage des résultats sur 4 colonnes, 1 résultat par ligne. 

while($row = mysql_fetch_array($result)) 
{ 


$msg = '<td bgcolor="#3366ff"><b><u><font color="#FFFFFF">nom</font></u></b></td>'; 
$msg .= '<td bgcolor="#3366ff"><b><u><font color="#FFFFFF">email</font></u></b></td>'; 
			
$msg .= '<tr>'; 
$msg .= '<td width="80" bgcolor="#e8e2e2">'.$row[nom].'</td>';
$msg .= '<td width="80" bgcolor="#e8e2e2">'.$row[email].'</td>';
$msg .= '</tr>'; 
						
		
} 

echo '</table>'."\n"; 

 echo '</font>';
 
 echo "<input type='submit' value='afficher devis' /></form>"; 


Ceci ne m'affiche rien car j'ai remplacé les echos mais bon je m'en fiche.
j'ai donc ensuite un formulaire d'envoi :

<?php



$msg = "Nom:\t$nom\n"; 
$msg .= "E-mail:\t$email\n"; 

//Pourait continuer ainsi jusqu'à la fin du formulaire 
  
$recipient = "blablabla@wanadoo.fr"; 
$subject = "Mail from t3v9c / Form General"; 

$mailheaders = "From: Perso t3v9c.html <> \n"; 


$nom = addslashes($nom); 

mail($recipient, $subject, $msg, $mailheaders); 
....


Mon mail arrive vide, j'ai un probleme de variable.je débute et je ne vois pas forcement l'erreur
Merci de votre aide.
a bientot
Configuration: Windows XP
Internet Explorer 6.0

7 réponses

  1. Salut
    $msg = "Nom:\t$nom\n";
    $msg .= "E-mail:\t$email\n";


    Remplace les " par des '

    $msg ='nom:\t$nom\n';
    $msg .='E-mail:\t$email\n'
    ;

    1. Merci Maxime de m'avoir repondu.
      par contre maintenant dans mon mail cela m'affiche :
      Nom:\t$nom\nE-mail:\t$email\n
      


      que dois-je faire ?
      Merci
      1. Personne ne voit ?
        j'ai tout tenté ! je ne vois pas ou est mon erreur !!
    2. Tu mets des <br /> pour passer des lignes
      Et pour afficher les variables il faut faire comme ca : '.$variable.'
      Donc :
      Tu rajour un header pour dire qui y a du HTML dans le code :
      $headers .= "content-type: text/html; charset=iso-8859-1\r\n"; toi c'est mailheaders que tu a mis.

      $msg ='Nom: '.$nom.'<br />';
      $msg .='E-mail: '.$email.'<br />';


      Si il y as un problème n'hésite pas ;)

      Désolé d'avoir mi du temps a répondre, je mangeai :D
      1. Non non mais t'a pas le droit de manger ! :p !!!
        bon je viens de tester ceci :
        il m'affiche :
        Nom: <br />E-mail: <br />
        


        tu es sur de tes quotes ?
        moi j'y connai pas grand chose alors ...
        1. Non ma syntax est juste :/
          essaye sans rien changer comme sa :

          $msg ='Nom: '.$nom.'<br />';
          $msg ='E-mail: '.$email.'<br />';

          $recipient = "blablabla@wanadoo.fr";
          $subject = "sujetemail";

          $headers = "From: expediteur<adressedelexpediteur@ex.fr> \n";
          $headers = "content-type: text/html; charset=iso-8859-1\r\n";

          $nom = addslashes($nom);

          mail($recipient, $subject, $msg, $headers);

          1. A nan pardon oublier quelques petit "."

            $msg ='Nom: '.$nom.'<br />';
            $msg. ='E-mail: '.$email.'<br />';

            $recipient = "blablabla@wanadoo.fr";
            $subject = "sujetemail";

            $headers = "From: expediteur<adressedelexpediteur@ex.fr> \n";
            $headers. = "content-type: text/html; charset=iso-8859-1\r\n";

            $nom = addslashes($nom);

            mail($recipient, $subject, $msg, $headers);

            Voilà la c'est bon