Bonjour,
Je suis nouveau sur ce forum et débutant.Mon problème est le suivant:lorsqu'un client fait une commande je souhaite lui envoyer le récapitulatif de sa commande par mail html.Le mail est bien envoyé et reçu par le client mais le résumé de la commande affiche que la dernière ligne.Tout le reste fonctionne bien.
Pourriez-vous m'aider à résoudre mon problème.
Merci de votre aide.

Voici le code.

<?php
session_start();
require 'db.class.php';
require 'panier.class.php';
$DB = new DB();
$panier = new panier($DB);
?>
<!DOCTYPE html>
<html>
<head>
<title>Commande</title>
<meta charset="utf-8">
<link rel="stylesheet" href="css/commande.css" type="text/css" media="screen" charset="utf-8">
</head>
<h3>Votre commande</h3>
<div id="contenu">
<div id="commande">
<div class="wrap">
<div class="rowtitle">
<table>
<tr>
<th>image</th>
<th>Nom du produit</th>
<th>Prix unitaire</th>
<th>Quantité</th>
<th>Prix TTC</th>
</tr>
<?php
$ids = array_keys($_SESSION'panier']);
if(empty($ids)){
$products = array();
}else{
$products = $DB->query('SELECT * FROM boutique WHERE id IN ('.implode(',',$ids).')');
}
foreach($products as $product):
?>
<tr>
<th><a href="#" class="img"> <img src="img/<?= $product->ad_photo; ?>.jpg" height="53"></a></th>
<th><?= $product->nom_prod; ?></th>
<th><?= number_format($product->prix_ttc,2,',',' '); ?> €</th>
<th><?= $_SESSION'panier']$product->id]; ?></th>
<th><?= number_format(($product->prix_ttc)*($_SESSION'panier']$product->id]),2,',',' '); ?> €</th>
</tr>

<?php endforeach; ?>
<tr class="total_com">
<th>Total de votre commande :</th>
<th><span class="total"><?= number_format($panier->total() ,2,',',' '); ?> € </span></th>
</tr>
</div>
</div>
</div>
</table>
<?php
include('../entree_produit/config.php');
$id_client = $_SESSION'id_client'];
$sql ='select * from client where id_client="'.$id_client.'"';
{
$result = mysql_query($sql) or die('problème de requête :' . mysql_error());
$row = mysql_fetch_assoc($result);
extract($row);
$destinataire="$email";
$sujet="Commande";
$message=str_replace("\'","'",$message);
$message="

<!DOCTYPE html>
<head>
</head>
<title><h1>Une nouvelle commande est arrivée<h1></title>
<body>
<h1>Bonjour   $civilite  $nom</h1><br/>
<h2> Voici le récapitulatif de votre commande:</h2><br/>
<table border=1>
<tr>
<th>Nom produit :</th>
<th>Prix unitaire :</th>
<th>Quantité(s) :</th>
<th>Prix pour total produit :</th>
</tr>
<tr>
<th> ".$product->nom_prod."</th>
<th>".number_format($product->prix_ttc,2,',',' ')."€</th>
<th>".$_SESSION'panier']$product->id]."</th>
<th>".number_format(($product->prix_ttc)*($_SESSION'panier']$product->id]),2,',',' ')."€</th>
</tr>
</table></br>
Prix total de la commande : ".number_format($panier->total() ,2,',',' ')."€

<h2>Vos coordonnées</h2><br/>
Nom :$nom<br/>
Prénom :$prenom<br/>
Adresse :$adresse<br/>
Adresse suite :$ad_suite<br/>
Code postal :$code_postal<br/>
Ville :$ville<br/>
Email :$email<br/>
Téléphone :$telephone<br/><br/><br/>

<h1>Condition de vente</h1>

<p>bla blablablablablab blablabla blablablabla blablabla blablablablablablablabla<br/>
bla blablabl ablablab blablabla blablablabla blablabla blablabl ablablablablabla<br/>
blablablablablab blablabla blablablabla blablabla blablablablablablablabla<br/>
bla blablabl ablablab blablabla blablablabla blablabla blablabl ablablablablabla<br/></p>
</body>
</html>";
$headers.="From:Contact@_____.com"."\r\n";
$headers .="MIME-Version:1.0"."\r\n";
$headers .="Content-type:text/html;charset=UTF-8";
$headers .= "\r\n";
mail($destinataire,$sujet,$message,$headers);

Votre code ici...

}
echo"<h1>________ Vous remercie pour votre commande</h1><br/>
<h2>Un mail de confirmation va vous être envoyé<h2>";
?>

5 réponses


Essaye de voir si tu peux pas générer un pdf que tu attache en pièce jointe a mail, c'est plus simple.

Merci de ta réponse TiimZero1 mais je préférerais que le récapitulatif de la commande soit dans le mail.Je vais continuer à chercher.

regarde déjà ce que te retourne tout ce qui ne passe pas. Si tu ne récupère pas de donnée forcément il ne va rien t'afficher !
Teste uniquement le récap de commande

Mon problème se situ au niveau du tableau du récapitulatif des produits commandés dans le mail. le reste du mail fonctionne très bien. Le foreach affiche bien le tableau sur ma page web mais pas dans mon mail.
Merci lotfi Berrahal de ton intérêt pour mon problème.

ton mail c'est du html et ce que tu lui demande c'est du php je pense que le soucis peut venir de la.
Les variables ça passe mais pour le reste je sais pas trop ! le foreach du coup je pense qu'il est pas gérer. je sais pas trop pour le coup !