Session et Panier

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Session et Panier

par Photographiquement Vôtre » 30 janv. 2007, 12:08

Rebonjour,

J'ai essayé de modifier le tuto pour mon cas particulier mais je bloque :

Je n'arrive pas à déterminer si un article dans un format existe pour mettre à jour la quantité (voir fonction ajout)

J'ai mis dans ma table prix un code qui correspond à un type de prix et un format

Merci de votre aide
  <?php

session_start();


/* Initialisation du panier */ 
$_SESSION['panier'] = array(); 
/* Subdivision du panier */ 
$_SESSION['panier']['id'] = array(); 
$_SESSION['panier']['format'] = array(); 
$_SESSION['panier']['qte'] = array(); 


$id=($_POST["id"]);

$quantite=($_POST["qte"]);

$format=($_POST["format"]);

ajout_test($id,$format,$quantite);

/* Affichons maintenant le contenu du panier : */ 
?> 
<pre> 
<?php 
var_dump($_SESSION['panier']); 
?> 
</pre> 

<?php

	
function ajout_test($produitid,$souscode,$format,$quantite) 
{   
/* On initialise la variable de retour */ 
   	
 	if( count($_SESSION['panier']['id']) > 0 && array_search($souscode,$_SESSION['panier']['souscode']) !== false ) 
 
 		{
		echo "Déjà en stock";

  $_SESSION['panier']['qte'] += $quantite;
         
        } 
    else
    	{ 
	    echo "Pas en stock";     
        $_SESSION['panier']['id'] = $produitid; 
        $_SESSION['panier']['souscode'] = $souscode; 
        $_SESSION['panier']['format']= $format;
        $_SESSION['panier']['qte']= $quantite; 
	    }   
   return $_SESSION['panier']['qte'];
      
}

    
    
?>

par Photographiquement Vôtre » 30 janv. 2007, 10:16

Merci à toi Ultim4T0m c'est vraiment ce que je recherchais

par Ultim4T0m » 30 janv. 2007, 02:04

Peut-être que ce tuto pourra t'être utile si tu as tout à refaire :

http://jmolline.free.fr/tutos/tuto_panier.html

par Truc » 30 janv. 2007, 01:07

Changement de structure de BD = changements dans les scripts, pas le choix

par Photographiquement Vôtre » 29 janv. 2007, 20:19

Bonsoir,

Je me demande si je ne me suis pas embarqué sur une mauvaise piste en essayant d'adapter un panier simple que j'avais fait.

Ce que je veux faire :

J'ai des photos avec une ID et un code prix dans tblphotos.

J'ai une table tblprix avec un code prix, un code format et un code papier

Je voudrai mettre à jour mon pannier avecles données suivantes :

tbl_prixId / tblsouscode_format//tblsouscode_papier/quantité/prix

Que me conseilles tu

Merci d'avance

par Truc » 26 janv. 2007, 21:19

C'est les modifs dont je parlais...
Regarde ce que vaut "$quantite"
<pre>
<?php var_dump($quantite); ?>
</pre>

par Photographiquement Vôtre » 26 janv. 2007, 20:19

Merci.

Maintenant quand je veux compter les éléments avec la fonction suivantr :
function compte_elements() {
	/* Renvoie le nombre d'articles dans le caddie */
		$total = 0;
		foreach ($this->articles as $produitid => $quantite) {
			$total += $quantite;
		}

		return $total;
	}
J'ai le message suivant :

Fatal error: Unsupported operand types in /var/www/html/virtualdomains/10560/cqfdprod.com/www/interfacemariage.cqfdprod.com/librairie/caddie_class.php on line 86

Ligne 86 : $total += $quantite;

Comment résoudre cela ?

par Truc » 26 janv. 2007, 19:52

Salut,

Pour clarifier les choses faudrait décomposer en sous tableaux mais ça demandera peut être beacoup de modifs:
function ajout(&$produitid, $quantite, $sous_code)
{  
     if (isset($produitid))
    {
         if (! isset($this->articles[$produitid]))
        {
            $this->articles[$produitid]['qte'] = 0;
        }
        $this->articles[$produitid]['qte'] += $quantite;
        $this->articles[$produitid]['sous_code'] = $sous_code;
    }        
}
sinon juste reprendre la ligne avec "$sous_code".

Pourquoi affecter "O" au lieu de "0" (zéro) si le produit n'est pas encore dans le panier ?

Session et Panier

par Photographiquement Vôtre » 26 janv. 2007, 19:44

Bonsoir,

J'avais un panier avec une fonction ou je mettais l'id de l'objet et la quantité commandée ainsi que la quantité totale.
function ajout(&$produitid, $quantite)
{
	
		
/* Ajoute un article au caddie et met à jour le nombre de produits sélectionnés */
if (isset($produitid))
	{
	if (! isset($this->articles[$produitid]))
		{
		$this->articles[$produitid] = 'O';
		}
		$this->articles[$produitid] += $quantite;
	}
		
}
Je voudrai maintenant rajouter une donnée supplémentaire (sous_code)

Comment faire

Merci d'avance