Probleme d'envoi de mail

Résolu/Fermé
maxland - 26 juil. 2009 à 12:22
 maxland - 26 juil. 2009 à 15:42
Bonjour tout le monde,

j'ai un probleme dans mon code.

Je veux envoyer un mail type facture mais je n'arrive pas
a lister les produits et leurs prix respectifs dans le corps du message,
je ne sais pas comment mettre un if dans une variable car la liste est sous contitions :

    $headers ='From: "max"<blabla@bloblo.fr>'."\n"; 
    $headers .='Reply-To: blibli@bleble.fr'."\n"; 
    $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n"; 
    $headers .='Content-Transfer-Encoding: 8bit'; 
	
	$adresse_mail = $_SESSION['mail'];
	$sujet = 'Votre commande';
	
	$message = 'Merci de votre achat,'.'\n
		       votre commande est en cours de préparation'.'\n
		       et sera expédiée dans les plus brefs délais.'.'\n\n';
				
	$message .='Voici le récapitulatif de votre commande :'.'\n';
	
	$message .='Numéro de commande : '.$numero_commande;
	
	$message .='Article(s) et prix : \n';
	
	$message .=
if(isset($_SESSION['n']))
{	
	$n=$_SESSION['n'];
	
	for ($i=0; $i<=$n; $i++)
		{

			if(!empty($_SESSION['panier'][$i]))
			{
				echo $_SESSION['panier'][$i]['nom'] . $_SESSION['panier'][$i]['prix'].' &euro;';
			}
		}
};
	
	$message .='Frais de livraison : ';
	$message .='Montant Total : '.$_SESSION['montant-total'];
	
	
     if(mail($adresse_mail, $sujet, $message , $headers)) 
     { 
          echo ''; 
     } 
     else 
     { 
          echo 'Une erreur est survenue, le message n\'a pu être envoyé'; 
     } 


voila si quelqu'un a une idée, parce que moi pas du tout,
merci d'avance en tout cas.
A voir également:

6 réponses

jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
26 juil. 2009 à 15:33
$message .='Article(s) et prix : \n';

if(isset($_SESSION['n']))
{
$n=$_SESSION['n'];

for ($i=0; $i<=$n; $i++)
{

if(!empty($_SESSION['panier'][$i]))
{
$message .= $_SESSION['panier'][$i]['nom'] . $_SESSION['panier'][$i]['prix'].' &euro<br>;'; 'j me suis permis de rajouter ce ptit retour charriot ;)
}
}
};

$message .='Frais de livraison : ';
1
c'est bon j'ai trouvé mais ca n'a rien a voir avec ce que m'as dis,
c'est pas grave je te remercies quand meme, et pour ceux qui voudraient
la solution la voila :

il faut remplacer la partie du if :

$message .=
if(isset($_SESSION['n']))
{	
	$n=$_SESSION['n'];
	
	for ($i=0; $i<=$n; $i++)
		{

			if(!empty($_SESSION['panier'][$i]))
			{
				echo $_SESSION['panier'][$i]['nom'] . $_SESSION['panier'][$i]['prix'].' &euro;';
			}
		}
};


par celle là :

$i = 0;
if(isset($_SESSION['n']))
{
$n=$_SESSION['n'];


while(!empty($_SESSION['panier'][$i]) && $i <= $n)
{
$message .= ' - '.$_SESSION['panier'][$i]['nom'] .' '. $_SESSION['panier'][$i]['prix'].' €'."\n";
$i++;
}

}

et là ca fonctionne nickel
1
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
26 juil. 2009 à 15:38
ah ah :D j'avais raison.. mais on a poster en meme temps ;) :p
0
giheller Messages postés 1878 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 20 mars 2025 142
26 juil. 2009 à 12:55
bonjour,

c'est suite au if qu'il faut constituer le message et non faire

if(isset($_SESSION['n']))
{
$n=$_SESSION['n'];
for ($i=0; $i<=$n; $i++)
{
if(!empty($_SESSION['panier'][$i]))
{
$message .= $_SESSION['panier'][$i]['nom'] . $_SESSION['panier'][$i]['prix'].' €';
}
}
};



J-L
0
d'abord, merci pour ta reponse,
ensuite, j'ai deja testé comme ca et ca m'affiche
le message autant de fois que j'ai de produits avec un produit en +.

pour etre plus clair, si j'ai 3 produits dans mon panier,
je recois 3 fois le meme message avec au debut le premier produit,
ensuite le 1er et le 2eme et encore une fois avec le 1er, le 2eme et le 3eme,
le tout dans un seul message.

ca doit etre a cause de la boucle for, mais dans ce cas comment faire ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
giheller Messages postés 1878 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 20 mars 2025 142
26 juil. 2009 à 15:30
bonjour


il faut donc composer cette partie du message avant et ne mettre que le résultat de cette composition dans le message.
0
ouais exact, en tout cas merci.
0