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 :

Echec concaténation PHP


Sujet :

Langage PHP

  1. #1
    Inactif  
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2012
    Messages : 41
    Points : 47
    Points
    47
    Par défaut Echec concaténation PHP
    Hello les fans de PHP,

    J'ai une fonction qui me permet d'ajouter des articles dans un panier. Le panier est sauvegarder dans une SESSION dont le contenu est une chaîne. Chaque article ajouter dans cette chaîne est séparée par un séparateur "|".
    Le soucis est que lorsque je teste le contenu de ma fonction, le séparateur est bien ajouté à chaque fin d'article. Mais lorsque j'appelle la fonction brute, le séparateur n'est pas ajouté.
    Sauriez-vous pourquoi ?

    Voici ma fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function BASKET_ADD_PRODUCT($id_product, $id_size, $qty){
     
          $basket_line = explode("|", $_SESSION['basket']);
     
          $new_id_line = sizeof($basket_line)-1;
          $string = $new_id_line.";".$id_product.";".$qty.";".$id_size."|";    //  | comme séparateur
     
          $_SESSION['basket'] = $_SESSION['basket'].$string;
          $_COOKIE['basket'] = $_SESSION['basket'];
     
    }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    une variable de SESSION peut, et doit, se travailler comme un array.

  3. #3
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Une autre remarque, il ne faut pas manipuler des variables de session direct dans des fonctions, c'est pas propre...
    La fonction manipule des variables théoriques, toutes passées en paramètres, sans s'inquiéter de leur nature.
    Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function ma_fonction($var1,$var2,$var3){
       //traitement puis retour
       return $foo;
    }
    //et pour convoquer la fonction
    define('CONSTANTE','toto');
    $_SESSION['tata']='truc';
    $variable='normale';
     
    $data=ma_fonction($_SESSION['tata'],CONSTANTE,$variable);
    Mais pour le cas qui t'occupe, je ne vois pas trop l'intérêt d'une fonction... ni de faire du CSV avec une variable de session...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(empty($_SESSION['basket'])){
    	$_SESSION['basket']=array();
    }
    $_SESSION['basket'][$sizeof($_SESSION['basket'])]['id_product']=$id_product;
    $_SESSION['basket'][$sizeof($_SESSION['basket'])]['id_size']=$id_size;
    $_SESSION['basket'][$sizeof($_SESSION['basket'])]['id_qty']=$id_qty;
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  4. #4
    Inactif  
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2012
    Messages : 41
    Points : 47
    Points
    47
    Par défaut
    Merci à tous,

    Je vais tenter de suivre vos conseils en retirant la SESSION de mes fonctions.

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

Discussions similaires

  1. [PostgreSQL] Concaténation php echo
    Par Johngtrs dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 25/05/2012, 20h28
  2. Guide concaténation php
    Par pitxu dans le forum Langage
    Réponses: 3
    Dernier message: 30/04/2008, 10h34
  3. [PHP-JS] Problème avec concaténation
    Par djedje37et28 dans le forum Langage
    Réponses: 30
    Dernier message: 21/07/2006, 16h59
  4. [SQL] Concaténer des requêtes SQL en PHP
    Par brotelle dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 18/04/2006, 19h53
  5. Concaténation PHP dans PHP
    Par tchoukapi dans le forum Langage
    Réponses: 2
    Dernier message: 27/11/2005, 19h30

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