Échec concaténation dans une fonction

teddol Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   -
Hello les fans de PHP,

J'ai une fonction qui me permet d'ajouter des articles dans un panier. Le panier est sauvegardé dans une SESSION dont le contenu est une chaîne. Chaque article ajouté dans cette chaîne est séparé 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:


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;

}
A voir également:

1 réponse

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Je ne vois pas de raison au fait que le séparateur ne soit pas ajouté, celui-ci est bien toujours concaténé dans ta variable de session.

Une solution alternative serait simplement d'utiliser un tableau au lieu de s’embêter avec les séparateurs. Cela devrait simplifier tes traitements, par exemple :
function BASKET_ADD_PRODUCT($id_product, $id_size, $qty) {
    $_SESSION['basket'][] = $id_product . ";" . $qty . ";" . $id_size;
}


Le même principe pourrait être utilisé pour les données id_product, id_size et qty.

Bonne journée,
0