begin process at 2010 02 10 04:56:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

panier : je ne m'en sors pas....


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

panier : je ne m'en sors pas....

mardi 22 janvier 2008 à 13:28:46 | panier : je ne m'en sors pas....

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 article a son propre bouton ajouter. Lorsque je clique sur celui ci, je passe sur la page panier (cart.php) qui liste mon panier. Le problème est que lorsque je clique sur le lien pour revenir sur le catalogue (afin de choisir un autre article), mon panier se vide est ne laisse apparaitre que le dernier article choisi.

Voici mes deux pages :
index.php

<?php
if (!$_SESSION['panier'])
       session_start($_SESSION['panier']);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Catalogue</title>
<link rel="stylesheet" href="fichier.css" type="text/css">
</head>

<body>
<table width="100%">
    <tr>
        <td class="Style1"><p></p><p>Ma boutique en ligne.</p></td>
    </tr>
    <tr>
        <td class="Style2">Panier ( )</td>
</table>
<fieldset>
    <legend align="left">
    <span id="cadre">Articles</span>
    </legend>
<table width="100%">
    <tr>
        <td>
        <table class="Style3">
            <tr>
                <td colspan="2" class="Style4">Canard de bain</td>
            </tr>
            <tr>
                <td><img src="images/canard.gif" title="Canard de bain" height="100" width="100"></td>
                <td><p>Un compagnon de jeu pour le bain.</p>
                    <p><b>2.99 Eur</b></p>
                    <p><form method="POST" action="cart.php">
                    <input type="hidden" name="code" value="ART001">
                    <input type="hidden" name="article" value="canard">
                    <input type="hidden" name="qte" value="1">
                    <input type="hidden" name="prix" value="2.99">
                    <input type="hidden" name="tva" value="19.6">
                    <input type="hidden" name="poids" value="0.300">
                    <input type="submit" name="ajouter" value="ajouter"></form></p>
                  </td>
            </tr>
        </table>
        </td>
        <td>
        <table class="Style3">
            <tr>
                <td colspan="2" class="Style4">Compas</td>
            </tr>
            <tr>
                <td><img src="images/compas.jpg" title="Compas" height="100" width="100"></td>
                <td><p>Pour ne pas perdre le nord.</p>
                    <p><b>9.95 Eur</b></p>
                    <p><form method="POST" action="cart.php">
                    <input type="hidden" name="code" value="ART002">
                    <input type="hidden" name="article" value="Compas">
                    <input type="hidden" name="qte" value="1">
                    <input type="hidden" name="prix" value="9.95">
                    <input type="hidden" name="tva" value="19.6">
                    <input type="hidden" name="poids" value="0.900">
                    <input type="submit" name="ajouter" value="ajouter"></form></p>
                </td>
            </tr>
        </table>
        </td>
        <td>
        <table class="Style3">
            <tr>   
                <td colspan="2" class="Style4">Aquarium et poisson rouge</td>
            </tr>
            <tr>
                <td><img src="images/aquarium.jpg" title="Aquarium" height="100" width="100"></td>
                <td><p>Pour passer le temps.</p>
                    <p><b>24.95 Eur</b></p>
                    <p><form method="POST" action="cart.php">
                    <input type="hidden" name="code" value="ART003">
                    <input type="hidden" name="article" value="Aquarium">
                    <input type="hidden" name="qte" value="1">
                    <input type="hidden" name="prix" value="24.95">
                    <input type="hidden" name="tva" value="19.6">
                    <input type="hidden" name="poids" value="3.500">
                    <input type="submit" name="aquarium" value="ajouter"></form></p>
                </td>
            </tr>
        </table>
        </td>
        <td>
        <table class="Style3">
            <tr>
                <td colspan="2" class="Style4">Boite à lettres</td>
            </tr>
            <tr>
                <td><img src="images/boite.gif" title="Boite à lettres" height="100" width="100"></td>
                <td><p>Vous avez du courrier.</p>
                    <p><b>12.99 Eur</b></p>
                    <p><form method="POST" action="cart.php">
                    <input type="hidden" name="code" value="ART004">
                    <input type="hidden" name="article" value="Boite à lettres">
                    <input type="hidden" name="qte" value="1">
                    <input type="hidden" name="prix" value="12.99">
                    <input type="hidden" name="tva" value="19.6">
                    <input type="hidden" name="poids" value="5.000">
                    <input type="submit" name="boite" value="ajouter"></form></p>
                </td>
            </tr>
        </table>
        </td>
    </tr>
</table>
</fieldset>

<p>(c) 2008 - Ma Boutique en ligne - 1.0.0</p>
</body>
</html>

et ma page cart.php :
<?
session_start();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Panier</title>
<link rel="stylesheet" href="fichier.css" type="text/css">

</head>

<body>
<table width="100%">
    <tr>
        <td class="Style1"><p></p><p>Ma boutique en ligne.</p></td>
    </tr>
    <tr>
        <td class="Style2"><a href="index.php<?php SID; ?>">Articles</a> | <a href="invoice.php">Paiement</a></td>
</table>

<?php
    $_SESSION['article'] = $_POST['article'];
    $_SESSION['code'] = $_POST['code'];
    $_SESSION['qte'] = $_POST['qte'];
    $_SESSION['prix'] = $_POST['prix'];
    $_SESSION['tva'] = $_POST['tva'];
    $_SESSION['poids'] = $_POST['poids'];
    $total = $_SESSION['prix'] * $_SESSION['qte'];
   

$nbArticles=count($_SESSION['article']);

  if ($nbArticles <= 0)
   echo "<tr><td>Votre panier est vide </ td></tr>";
  else
  {
?>

<fieldset>
    <legend align="left">
    <span id="cadre">Panier</span>
    </legend>

<table width="100%">
    <tr>
        <td class="Style11" width="16%">Code article</td>
        <td class="Style11" width="16%">Produit</td>
        <td class="Style11" width="16%">Quantité</td>
        <td class="Style11" width="16%">Prix</td>
        <td class="Style11" width="16%">Total</td>
        <td class="Style11" width="16%"></td>
    </tr>
<?php
   for ($i=0 ;$i < $nbArticles ; $i++)
   {
echo '<tr>';
echo '<td class="Style3" width="16%">';
echo $_SESSION['code'];
echo '</td>';
echo '<td class="Style31" width="16%">';
echo $_SESSION['article'];
echo '</td>';
echo '<td class="Style3" width="16%">';
echo '<img src="images/moins.gif">&nbsp;';
echo $_SESSION['qte'];
echo '&nbsp;<img src="images/plus.gif">';
echo '</td>';
echo '<td class="Style3" width="16%">';
echo $_SESSION['prix'];
echo '</td>';
echo '<td class="Style3" width="16%">';
echo $total;
echo '</td>';
echo '<td class="Style3" width="16%">';
echo ' ';
echo '</td>';
echo '</tr>';
    }
}
?>

</table>
<table width="100%">
    <tr>
        <td class="Style32" width="16%"></td>
        <td class="Style32" width="16%"></td>
        <td class="Style32" width="16%"></td>
        <td class="Style32" width="16%">TOTAL</td>
        <td class="Style32" width="16%">
            <?php
            $total2 = '12';
            echo $total2;
            ?>
        </td>
        <td class="Style32" width="16%"><a href="?vide=ok">Vider</a></td>
    </tr>
</table>   

</fieldset>
</body>
</html>


Merci de m'aider.
mardi 22 janvier 2008 à 21:47:57 | Re : panier : je ne m'en sors pas....

coockiesch

Salut!
Le session_start() doit être placé de manière inconditionnelle (sans aucun test) en haut de toutes les pages!! :-)

@++

R@f

La boîte à bouts de codes
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
mercredi 23 janvier 2008 à 12:03:55 | Re : panier : je ne m'en sors pas....

jereln

Merci de m'avoir répondu.
Pour le session_start();  OK
Mais mon problème est que lorsque je suis sur ma page panier (cart.php), j'ai un lien pour revenir sur ma page catalogue (index.php) pour choisir d'autres articles. Du coup, lorsque je choisi un nouvel article, celui ci "écrase" mon panier existant et il ne reste que le dernier.

Je ne sais pas si je suis claire?

je ne sais pas comment faire ?
mercredi 23 janvier 2008 à 16:12:04 | Re : panier : je ne m'en sors pas....

garfield90

euh, c'est tout a fait normal.

en gros, a chaque fois que tu ajoutes un produits dans ton panier ($_SESSION), tu l'écrases.
$_SESSION = $_POST donc tu auras toujours le dernier produit dans ton panier.

tu peux faire au pire :
$_SESSION['panier'][] = $_POST comme ca tu auras une ligne a chaque fois dans ton panier.

ne fais pas un copier coller du code, car y plein d'autres choses a faire.

regardes sur des sites/programme de e-commerce et regarde la maniere qu'il utilise pour gérer un panier.

"They are 10 sorts of persons whose understand binary and whose not"


Cette discussion est classée dans : session, post, echo, article, panier


Répondre à ce message

Sujets en rapport avec ce message

problème de panier et session [ par jereln ] je suis en train de créer un panier à l'aide de sessions. J'ai une première page catalogue (index.php) où sont listés mes articles. Chacun d'eux a un 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 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 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 Problème de panier avec $_SESSION [ par ragmo ] Bonjour à tous,Depuis ce matin j'ai un problème sur un ensemble de scripts de gesion de panier qui marchait [très] bien. Le message est : "Cannot use Variable de Session, Acces base de donnée [ par TuxOnline ] Bonjour à tous. Voila j'ai un petit souci pour ouvrir une connexion avec ma base de donnée.J'utilise donc une page d'authentification et je déclare en Passage d'objet par POST/GET [ par TOURSENE ] Salut à tous !Je travaille actuellement sur un projet en e-commerce. Je suis en plein dans le développement du site. Je rencontre une difficulté. Je s 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 Caddie e-commerce [ par 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'


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 0,421 sec (4)

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