IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

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


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 45
    Points : 24
    Points
    24
    Par défaut Créer une variable de session si elle n'existe pas
    Bonjour,
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
        for ($i=0, $n=sizeof($products); $i<$n; $i++) {
     
    	$id = $products[$i]['id'];
     
    	$shippingCost = getShippingCost($id); // calcul le montant des frais de port du produit
            $shippingMethods = getShippingMethods($id); // récupère les modes de livraison valables pour ce produit
    	$methods = explode(";", $shippingMethods); // retourne "spu" pour Sur Place et "flat" pour Colissimo 
     
     
    	if( $_SESSION['ship'] && (!in_array($id, array_keys($_SESSION['ship'])))  ) { // je pense que l'erreur vient d'ici !?
     
    		if( (in_array('flat', $methods)) && (in_array('spu', $methods)) ) { 
    			$_SESSION['ship'][$id] = $shippingCost;
     
    		} elseif( (!in_array('flat', $methods)) && (in_array('spu', $methods)) )  {
    			$_SESSION['ship'][$id] = 0;
     
    		} elseif( (in_array('flat', $methods)) && (!in_array('spu', $methods)) )  {
    			$_SESSION['ship'][$id] = $shippingCost;
     
    		} else { 								  
    			$_SESSION['ship'][$id] = 0;
    		}
     
    	}
    Merci par avance !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Utilise isset()
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Utilise isset()
    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 15
    Dernier message: 27/12/2009, 12h13
  2. Créer une variable de session dos en vba
    Par batama dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/10/2008, 11h30
  3. JSP: Créer une variable de session
    Par mcburger dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 07/05/2007, 13h46
  4. créer une variable de session
    Par NicoO_O dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 15/04/2007, 22h14
  5. Réponses: 8
    Dernier message: 06/02/2006, 16h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo