8791 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai créer un panier qui fonctionne très bien, mais j'ai un gros soucis pour récuperer la commande faite dans le panier.

Je pensais envoyer le contenu de mon panier via un mail. Cela fonctionne bien pour le montant mais j'ai un problème avec le contenu du panier qui est $_Session.

Est il possible d'envoyer le contenu de mon panier via un formulaire de mail ? Pour de la variable simple pas de problème, je sais faire pour pour récuperer mon panier, je m'arrache les cheveux. Smiley confus

Dans mon fichier validation de formulaire d'envoi

Si je tape : $MailBody .= "Panier : {$_SESSION['panier']['libelleProduit']}\n";

J'ai dans mon mail Panier : array

Merci par avance pour votre aide.

Marc
Modifié par CVS (06 Sep 2010 - 18:40)
Salut,

effectivement on ne peut pas concaténer un tableau avec une chaîne de caractères :
$MailBody .= "Panier :\n";
foreach($_SESSION['panier']['libelleProduit'] as $libelle) {
	$MailBody .= '->'.$libelle."\n";
}
Merci beaucoup, ça fonctionne nickel.

Réponse ultra rapide, et super bonne.

Je dis bravo Smiley cligne

Marc
Juste un petit détail, mais là je pinoche, est il possible d'avoir l'affichage par colonne.

J'ai bien la liste de mon panier mais les articles les un derrière les autres.

Bananes, poires, pomme, 2, 4 , 6 , 1 € , 2€, 4 €


Est il possible d'avoir :

Banaes 2 1 €
Poires 4 2 €
Pommes 6 4 €

Si je pouvais obtenir ça cela serait le paradis. Je n'en demande pas plus. J'ai bien fait des bidouilles, mais c'est pas ça qui est ça.

Merci par avance.

Marc.
Oui effectivement mille excuses.

3 colonnes :

1 pour la désignation
1 pour la quantité
1 pour le prix

En gros, je me débrouille pour arranger ça à ma sauce.

Du schématisé, juste que se soit facile à comprendre et surtout lisible.

Merci par avance.

Marc.

Ps : Pour l'autre sujet, je suis entrain de regarder.
Ce n'est pas ce que je te demandais mais je vais supposer que tu as la structure suivante et donc :
$_SESSION['panier']['libelleProduit'] = array('Bananes', 'Poires', 'Pommes');
$_SESSION['panier']['quantiteProduit'] = array(2, 4, 6);
$_SESSION['panier']['prixProduit'] = array(1, 2, 4);

$MailBody .= "Panier :\n";
$panier = $_SESSION['panier'];
$nb_produits = count($panier);
$montant_total = 0;
for($i=0; $i < $nb_produits; $i++) {
	$montant_total += $panier['quantiteProduit'][$i] * $panier['prixProduit'][$i];
    $MailBody .= '-> '.$panier['quantiteProduit'][$i].' '.$panier['libelleProduit'][$i].' à '.$panier['prixProduit'][$i].' € => '.($panier['quantiteProduit'][$i] * $panier['prixProduit'][$i])." €\n"; 
}
$MailBody .= 'Montant total : '.$montant_total." €\n";
C'est la cata, je deviens fou.

Merci pour les supers lignes de code, mais j'ai déjà les calculs.

Je souhaite juste une mise en forme des infos de mon panier.

C'est ça que tu souhaitais ?

$_SESSION['panier']['libelleProduit'] = array();
$_SESSION['panier']['qteProduit'] = array();
$_SESSION['panier']['prixProduit'] = array();

Avec présentatione colonnes avec $MailBody

J'ai honte d'abuser Smiley bawling

Merci pour ta disponibilité.
Ben comme c'est la structure que j'ai utilisée tu devrais t'en sortir. Si ça n'est pas le cas c'est que tu ne connais pas la concaténation et comme c'est la base du PHP ça veut dire qu'il faut la revoir. Smiley cligne

Pour rappel la philosophie de ce forum n'est pas de fournir un code tout fait (même si c'est ce que je pensais avoir fait) : l'idée c'est que tu apprennes quelque chose.
Modifié par Heyoan (06 Sep 2010 - 18:41)
Merci beaucoup.

Avec l'ensemble des éléments que tu m'as fournis, je vais bien arriver à m'en sortir.

Je suis d'accord avec toi, le but est d'apprendre si c'est pour avoir du travail tout fait c'est plus amusant.

Merci encore pour ton aide.

Bonne soirée.

Marc