begin process at 2012 02 12 05:28:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Aide & documentation

 > 

Caddie e-commerce


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Caddie e-commerce

samedi 5 mai 2007 à 17:56:16 | Caddie e-commerce

guisx00

Salut je suis à la recherche de conseils svp,
Voila je suis entrain de crée un petit panier e-commerce pour lister les articles et en choisir un sa c'est bon

af_article2.php = liste de tout les articles
s_article2.php = un article selectionne dans la page d'avant
caddie2.php = au cadie

Liens de s_article2.php qui envoi vers le cadie
echo '<a href="caddie2.php?idprd='.$id.'&qte=1">Commander</a>';

Quand je l'ajoute au caddie il s'affiche mais dès que je resort de la page il disparait pourtant la session est je pense bien ouverte.
J'ai reflechi au probleme que j'ai sur comment differencier les produits et à les affiches en leur donnant une id dans la session
Parce que la à chaque fois que je rajoute un produit il ecrase la session je pense.
Et pour les affiches je pense qu'il faut faire un foreach mais j'ai essayer pleins de methodes sa marche pas je vois pas quoi recupere

Si quelq'un peut m'aider pour me dire comment faire c'est deux manip est le probleme dans mon code du caddie merci bcp

Merci @++

Voici la page caddie2.php

<?php
session_start();
require "../include/config.php";
//Suppression
if(isset($_GET['suppr'])){
$idprd=$_GET['suppr'];
if(empty($_SESSION["panier"]["contenu"])){
unset($_SESSION["panier"]["contenu"]);
$redir = "<meta http-equiv=\"refresh\" content=\"1;url=caddie2.php\"/>";
} }
//Ajout
if(isset($_GET['idprd']) && isset($_GET['qte'])){
$idprd=$_GET['idprd'];
$qte=$_GET['qte'];
if(empty($_SESSION["panier"]["contenu"])){
     $_SESSION["panier"]["contenu"] = array();
     $_SESSION["panier"]["contenu"]["id_produit"] = $idprd;
     $_SESSION["panier"]["contenu"]["quantite_produit"] = $qte;
}
else {
     $_SESSION["panier"]["contenu"] = array();
     $_SESSION["panier"]["contenu"]["id_produit"] = $idprd;
     $_SESSION["panier"]["contenu"]["quantite_produit"] = $qte;
} }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11.dtd">
<html xmlns=" [ Lien ]" xml:lang="fr">
<head>
<?php if (isset($redir)) print($redir); ?>
<title></title>
<link rel="stylesheet" type="text/css" href="../css/site.css" />
<style type="text/css">
<!--
body {
 background-color: #666666;
}
-->
</style>
</head>
<body>
<br /><p align="center" class="titre">Votre Caddie...</p>
<?php
if (isset($_SESSION["panier"]["contenu"])){
echo '<p align="center" class="aff2"><a href="af_article2.php">Retour à la Boutique</a>';
echo '<table border="1" align="center" width="650" cellpadding="0" cellspacing="0"><tr class="menu">';
echo '<td width="200" align="center">Produit</td>';
echo '<td width="100" align="center">Quantité</td>';
echo '<td width="100" align="center">Px Unité</td>';
echo '<td width="100" align="center">Poids Unité</td>';
echo '<td width="100" align="center">Total </td>';
echo '<td width="50" align="center">DEL</td></tr>';
$tot=0;// initialisation du total.
$sql="SELECT * FROM article WHERE id='".$_GET['idprd']."'";
$req = mysql_query($sql);
while ($data=mysql_fetch_array($req) ){
$aze = $_SESSION["panier"]["contenu"]["id_produit"];//Resultat session id
$cde = $_SESSION["panier"]["contenu"]["quantite_produit"];//Resultat session quantite
$idarticle=$data['id'];//id de l'article
$nom=$data['nom'];//nom de l'article
$prix=$data['prix'];// prix unitaire
$quantitemax=$data['quantite'];//quantite max
$pxligne=$prix*$cde; //prix pour la ligne de commande
$tot+=$pxligne;//valorisation du total général
$poids=$data['poids'];// poids unitaire
$poidsligne=$poids*$cde; //poids pour la ligne de commande
$totpoids+=$poidsligne;//valorisation du total poids général
$tva=$data['tva'];// tva
$totalttc = $tot + ($tva / 100 + 1);
echo '<tr><td align="center" class="aff">'.$aze.' - '.$nom.'</td>';
echo '<td align="center" class="aff">'.$cde.'</td>';
echo '<td align="center" class="aff">'.$prix.'</td>';
echo '<td align="center" class="aff">'.$poids.'</td>';
echo '<td align="right" class="bug">'.number_format($pxligne, 2,'.',' ').'</td>';
echo '<td align="center"class="bug"><a href="caddie2.php?suppr='.$idarticle.'">';
echo '<img src="../img/panier_del.gif" width="13" height="13" border="0"/></a></td></tr>';
}//while
}//if (isset($_SESSION["panier"]["proprietaire"]["log"]))
echo '<tr><td colspan="4" align="right" class="menu">Total Commandé...</td><td align="right" class="bug">'.number_format($tot, 2,'.',' ').'</td></tr>';
echo '<tr><td colspan="4" align="right" class="menu">Tva...</td><td align="right" class="bug">'.$tva.'</td></tr>';
echo '<tr><td colspan="4" align="right" class="menu">Poids Total...</td><td align="right" class="bug">'.number_format($totpoids, 2,'.',' ').'</td></tr>';
echo '<tr><td colspan="4" align="right" class="menu">Total TTC...</td><td align="right" class="bug">'.number_format($totalttc, 2,'.',' ').'</td></tr>';
echo '</table>';
echo '<a href="s_article2.php?prod='.$idarticle.'">Retour à l\'article</a></p>';
 ?>
</body></html>


Voici la table d'exemple
CREATE TABLE `article` (
  `id` int(11) NOT NULL auto_increment,
  `nom` varchar(100) default NULL,
  `prix` decimal(5,2) default '0.00',
  `quantite` int(11) default '0',
  `poids` decimal(5,2) default '0.00',
  `tva` decimal(5,2) default '0.00',
  `detailsfr` text,
  `detailsen` text,
  `image` varchar(100) default NULL,
  `reference` char(30) default NULL,
  `dateajout` datetime default NULL,
  `datefini` datetime default NULL,
  `image2` varchar(100) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `article` VALUES ('1','test','10.20','5','0.60','19.60','detailsfr','detailsen','','','','','');
INSERT INTO `article` VALUES ('2','test2','5.50','5','5.50','19.60','french','english','','','','','');


mercredi 9 mai 2007 à 19:19:59 | Re : Caddie e-commerce

guisx00

Bonjour bon j'ai avance dans mon projet mais je commence à péter un câble je m'explique

Quand j'ajoute un objet dans mon caddie et que cet objet est le 1er
la session se crée mais n'affiche pas le produit dans le caddie pourtant la session est bien présente et bonne

Après si on rajoute un nouvel objet il supprimer le précédent et le remplace par le nouveau et l'affiche
Allez comprendre prk moi perso je vois pas et sa m'énerve d'ailleurs lol
Ou je fais une erreur dans mon code et prk il ne veut pas me crée un second produit au lieu de reécrire sur le 1er
Si quelq'un vois ou est l'erreur je l'en remercie voici mon caddie

<?php
require "include/config.php";
// vider le panier
if (is_numeric($_GET['vider'])) {
unset($_SESSION['panier']);
echo 'Vous avez vider le panier';
$redir = "<meta http-equiv=\"refresh\" content=\"3;url=index.php?guisx=caddie\"/>";
}
// ajouter/supprimer une unité d'un produit
else if (isset($_SESSION['panier']) && is_numeric($_GET['prod']) && is_numeric($_GET['quant'])) {
$count = count($_SESSION['panier']);
        for($i=0;$i<$count;$i++)
        {
            $prod = $_SESSION['panier'][$i]['produit'];
            $prod = $_GET['prod'];
            $quant = $_SESSION['panier'][$i]['qteprd'];
            $quantget = $_GET['quant'];
            if($quant < $quantget)
            {  
                $quantajout = $quant;
                $quantajout = $quantajout+1;
                $_SESSION['panier'][$i]['qteprd'] = $quantajout;
                echo 'Vous avez ajouter une unite au produit';
                $redir = "<meta http-equiv=\"refresh\" content=\"3;url=index.php?guisx=caddie\"/>";
            }
            else if($quant > $quantget)
            {  
                $quantsuppr = $quant;
                $quantsuppr = $quantsuppr-1;
                $_SESSION['panier'][$i]['qteprd'] = $quantsuppr;
                echo 'Vous avez supprimer une unite au produit';
                $redir = "<meta http-equiv=\"refresh\" content=\"3;url=index.php?guisx=caddie\"/>";
            }
        }
}
//Supprimer directement le produit
else if (isset($_SESSION['panier']) && is_numeric($_GET['supprprod'])) {
$count = count($_SESSION['panier']);
        for($i=0;$i<$count;$i++)
        {
            $_SESSION['panier'][$i]['produit'] = $_GET['supprprod'];
            unset($_SESSION['panier'][$i]['produit']);
            unset($_SESSION['panier'][$i]['qteprd']);
            unset($_SESSION['panier'][$i]);
            unset($_SESSION['panier']);
            echo 'Produit supprimer';
            $redir = "<meta http-equiv=\"refresh\" content=\"3;url=index.php?guisx=caddie\"/>";
        }
}
//Le panier n'existe pas
if (!isset($_SESSION['panier'])) {
    $_SESSION['panier'] = array();//Initialisation du panier
    // Subdivision du panier
    $_SESSION['panier']['produit'] = array();
    $_SESSION['panier']['qteprd'] = array();
}
//Si on nous envoi un nouveau produit
if (isset($_POST['produit']) && isset($_POST['qteprd'])) {
$count = count($_SESSION['panier']);
for($i=0;$i<$count;$i++)
{
//On met le prdt dans un tableau        
$_SESSION['panier'] = array();
$_SESSION['panier'][$i]['produit'] = $_POST['produit'];
$_SESSION['panier'][$i]['qteprd'] = $_POST['qteprd'];
}//for
echo 'Ajout du nouveau produit reussi<br />';
$redir = "<meta http-equiv=\"refresh\" content=\"3;url=index.php\"/>";
}

if (isset($redir)) print($redir);//Affichage de la redirection

//Haut du panier
echo '<table border="1" align="center" width="650" cellpadding="0" cellspacing="0" id="caddie"><tr class="menu">
<td width="200" align="center">Produit</td>
<td width="100" align="center">Quantité</td>
<td width="100" align="center">Px Unité</td>
<td width="100" align="center">Poids Unité</td>
<td width="100" align="center">Total </td>
<td width="50" align="center">DEL</td></tr>';
//On recupere les articles    
$count = count($_SESSION['panier']);
for($i=0;$i<$count;$i++)
{
$refprodses = $_SESSION['panier'];
$produitses = $_SESSION['panier'][$i]['produit'];
$qteprdses = $_SESSION['panier'][$i]['qteprd'];
$sql="SELECT * FROM article WHERE idarticle='$produitses'";
$req = mysql_query($sql);
while ($data=mysql_fetch_array($req) ){
$nomun = stripslashes($data['nom']);//nom de l'article
$prixht = $data['prix'];// prix unitaire
$quantitemax = $data['quantite'];//quantite max
$poidsun = $data['poids'];// poids unitaire
$tva = $data['tva'];// tva
$pxligne = $prixht*$qteprdses; //prix pour la ligne de commande
$tot+=$pxligne;//valorisation du total général
$poidsligne = $poidsun*$qteprdses; //poids pour la ligne de commande
$totpoids+=$poidsligne;//valorisation du total poids général
$totalttc = $tot + ($tva / 100 + 1);//Calcul TVA
$ajoutunite = $qteprdses + 1;//Ajouter une unite
$supprunite = $qteprdses - 1;//Supprimer une unite
$quantitemini = 1;//Quantite mini
//Affichage des articles
echo '<tr><td align="center" class="aff">'.$nomun.'</td>';
echo '<td align="center" class="aff">';
echo '<a href="index.php?guisx=caddie&prod='.$produitses.'&quant='.$supprunite.'"><img src="img/panier_moins.gif" alt="" /></a>
'.$qteprdses.'
 <a href="index.php?guisx=caddie&prod='.$produitses.'&quant='.$ajoutunite.'"><img src="img/panier_plus.gif" alt="" /></a>';
echo '</td>';
echo '<td align="center" class="aff">'.$prixht.'</td>
<td align="center" class="aff">'.$poidsun.'</td>
<td align="right" class="bug">'.number_format($pxligne, 2,'.',' ').'</td>
<td align="center"class="bug"><a href="index.php?guisx=caddie&supprprod='.$produitses.'">
<img src="img/panier_del.gif" width="13" height="13" border="0"/></a></td></tr>';
}//while
}//for
//Bas de tableau
echo '<tr><td colspan="4" align="right" class="menu">Total Commandé...</td><td align="right" class="bug">'.number_format($tot, 2,'.',' ').'</td></tr>
<tr><td colspan="4" align="right" class="menu">Tva...</td><td align="right" class="bug">'.$tva.'</td></tr>
<tr><td colspan="4" align="right" class="menu">Poids Total...</td><td align="right" class="bug">'.number_format($totpoids, 2,'.',' ').'</td></tr>
<tr><td colspan="4" align="right" class="menu">Total TTC...</td><td align="right" class="bug">'.number_format($totalttc, 2,'.',' ').'</td></tr>
</table>';
$pseudocm = mysql_real_escape_string($_SESSION['client']['pseudo']);
echo '<a href="index.php?guisx=f_infos&pseudocm='.$pseudocm.'">Commander</a><br />';
echo '<a href="index.php?guisx=f_infos&vider=vider">Vider le panier</a><br />';
print_r($_SESSION);//Voir le contenu de la session
?>


Cette discussion est classée dans : contenu, session, echo, default, panier


Répondre à ce message

Sujets en rapport avec ce message

pb suppression article dans un panier [ par justine75 ] bonsoir! voilà j'aimerais supprimer des articles dans mon panier voici le code de mon panier : [code] include ("definitioninfo.php");include ("aff_pa suppression d'article d'un panier [ par justine75 ] bonjour!petit problème lors de la suppression d'article dans mon panieron m'a aidé mais ça ne marce pas... et je ne comprends pas vraiment pourquoi... Vider panier [ par Miss1 ] Salut j'ai crée un panier et se que je voudrais savoir c'est comment faire pour vider le panier quand le client se déconnecte je connais cette methode HELP PLEASE !!!! problème de panier... [ par frederic66 ] Bonjour,mon site a été redirigé sur un nouveau serveur qui utilise PHP4, MySQL - 5.0.51a-log. depuis, mon panier ne fonctionne plus correctement... on panier : je ne m'en sors pas.... [ par jereln ] Bonjour, je suis en trai de créer un panier avec utilisation des sessions.J'ai une première page (index.php) qui correspond à mon catalogue. Chaque ar probleme syntaxe ecriteu BDD [ par ju0123456789 ] Bonjour, j'ai les produits du panier qui s'affichent sur ma page "modes_paiement.php" , le nombre d'articles et ainsi que le prix total, j'ai ma table POST et Get différent lors de l'envoi d'un formulaire (dans une boucle For) [ par Const4ntine ] Bonjour,Après avoir passé près de 4h dessus, et avoir fait des tests de tout les cotés, je demande de l'aide ;)J'ai un panier qui se charge par rappor incohérence serveur local et distant [ par garudra ] Bonjour et bonnes fêtes! je construis une boutique en ligne, mon panier fonctionne parfaitement en local, et pas du tout sur le site distant.Quelles Envoyer le contenu d'un panier php par mail [ par odogp1 ] Bonsoir à tous, avant d'apprendre le php je devrais apprendre le francais... Veuillez m'éscuser pour les fautes !!! je vous présente mon problème : PFE [ par samia22 ] bonsoir a tous, j'ai une probleme lors de l'ajout des produits au pannier.. le client doit s'authentifier avant d'ajouter des produits mais ca ne mar


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 9,469 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales