Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
667 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Créer une variable de session si elle n'existe pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Créer une variable de session si elle n'existe pas

n°2074513
pipo83
Posté le 07-05-2011 à 22:28:24  profilanswer
 

Bonsoir,
 
J'ai un petit soucis sur lequel je planche depuis des heures sans en trouver la solution !
 
Pour un système de panier j'ai besoin de (pré)stocker en session les frais de port de chaque produit.
 
Pour être concret, je souhaite faire la chose suivante:
 
Ma variable $_SESSION['ship'] doit retourner un array() avec id du produit en KEY et le montant des frais de port en VALUE.
 
Si $_SESSION['ship'][id du produit] n'existe pas == on crée cette variable
Si $_SESSION['ship'][id du produit] existe == rien à faire
 
Voici mon code actuel qui fonctionne à qui me retourne une erreur  
 

Code :
  1. for ($i=0, $n=sizeof($products); $i<$n; $i++) {
  2. $id = $products[$i]['id'];
  3. $shippingCost = getShippingCost($id); // calcul le montant des frais de port du produit
  4.         $shippingMethods = getShippingMethods($id); // récupère les modes de livraison valables pour ce produit
  5. $methods = explode(";", $shippingMethods); // retourne "spu" pour Sur Place et "flat" pour Colissimo  
  6. if( $_SESSION['ship'] && (!in_array($id, array_keys($_SESSION['ship'])))  ) { // je pense que l'erreur vient d'ici !?
  7.  if( (in_array('flat', $methods)) && (in_array('spu', $methods)) ) {
  8.   $_SESSION['ship'][$id] = $shippingCost;
  9.  } elseif( (!in_array('flat', $methods)) && (in_array('spu', $methods)) )  {
  10.   $_SESSION['ship'][$id] = 0;
  11.  } elseif( (in_array('flat', $methods)) && (!in_array('spu', $methods)) )  {
  12.   $_SESSION['ship'][$id] = $shippingCost;
  13.  } else {          
  14.   $_SESSION['ship'][$id] = 0;
  15.  }
  16. }


 
Merci par avance !

mood
Publicité
Posté le 07-05-2011 à 22:28:24  profilanswer
 

n°2074521
vanish
Ce qui brûle, brûle !
Posté le 08-05-2011 à 00:15:44  profilanswer
 

Salut,
 
if($variable) ne teste pas si la propriété existe, mais simplement si sa valeur est équivalente à false ou non.
 
Pour vérifier si une propriété existe, c'est isset($variable) (renvoi true ou false).

n°2074834
pipo83
Posté le 09-05-2011 à 17:45:39  profilanswer
 

Effectivement !
 
Merci beaucoup !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Créer une variable de session si elle n'existe pas

 

Sujets relatifs
slt,svp ,comment peut on créer un chrono sur VB ,j'en ai besoin ...Index d'annuaire : Vérifier que la première lettre existe dans un nom
lecture d'un fichier .txt et retourner un tableau et une variable P,svdefinir un nom d'id contenant une variable
Aide pour créer un script botVariable en trop dans redirection .htaccess
creer un autoconfigurableinclure variable dans nom de fichiers crées
Creer .exe a partir d'une solutionCreer son site web
Plus de sujets relatifs à : Créer une variable de session si elle n'existe pas


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR