Page 1 sur 1

Panier PHP : Warning: Cannot use a scalar value as an array

Posté : 04 juin 2012, 16:42
par Anduril
Bonjour, je suis en train de programmer un panier en PHP.
Mais on m'affiche une erreur lors de l'ajout du produit au panier.
A noter que je suis sur un serveur LAMP.
Mon code fonctionnait parfaitement sur le serveur LAMP d'un ami mais sur celui sur lequel je programme en ce moment, l'ajout ne marche pas:

Warning: Cannot use a scalar value as an array in /home/shonen/public_html/panier/ajout_caddie.php on line 24

ajout_caddie.php :
<?php
    
session_start(); //demarrage de la session  

header("Location: affichage_panier3.php\n\n"); 

if(isset($_GET['ajout']))
{ 
      $ref = $_GET['ajout'];                //reference du produit choisi

if(!isset($_SESSION['caddie']))             //si le caddie n'a pas encore ete cree
      {   
       $_SESSION['caddie'] = array();       //creation de la variable de session
      }

if(isset($_SESSION['caddie'][$ref ]))       //si ce produit a deja ete choisi
      {       
       $_SESSION['caddie'][$ref ]++;               //ajoute 1 a la quantite	   
      }

else 

      {
       $_SESSION['caddie'][$ref ] = 1;                //si 1er ajout, met la quantite a 1  
      }

}

?>

Merci.

Re: Panier PHP : Warning: Cannot use a scalar value as an ar

Posté : 08 juin 2012, 11:51
par sadeq
Essaye cette correction:
<?php
   
session_start(); //demarrage de la session  

header("Location: affichage_panier3.php\n\n");

if(isset($_GET['ajout']))
{
      $ref = $_GET['ajout'];                //reference du produit choisi

if(!isset($_SESSION['caddie']))             //si le caddie n'a pas encore ete cree
      {  
       $_SESSION['caddie'] = array();       //creation de la variable de session
      }

if(isset($_SESSION['caddie']["$ref"]))       //si ce produit a deja ete choisi
      {      
       $_SESSION['caddie']["$ref"]++;               //ajoute 1 a la quantite        
      }

else

      {
       $_SESSION['caddie']["$ref"] = 1;                //si 1er ajout, met la quantite a 1  
      }

}

?>