Aller au contenu

probléme d'Array pour un $_SESSION


Sujets conseillés

Posté

Bonsoir à tous

Voilà j'ai un petit soucis avec nos amis les Array

Je suis sur un projet de boutique et je souhaite mémoriser les noms des produits que l'utilisateur met dans son panier

Sois je recupere le nom via le $_POST que je place ensuite dans un $_SESSION

mon problème étant que lorsque je rajoute un article mon $_SESSION ne sauvegarde pas les données précédentes

Pour cela j'ai besoin d'un Array mais je ne vois pas comment l'écrire pour qu'il enregistre le $_POST et garder ce qu'il à dans les autres cases

Posté

Tu peux mettre ton tableau en session :)

Je veux dire par là que ta session est un tableau <?=$_SESSION("Ma_session")[0][0]?>

Un truc dans le genre (je suis un peu rouillé en PHP) ^^

Posté

Je pense que les fonctions serialize() et unserialize() sont là pour ça, non ? ;)

Posté

Effectivement si tu remet une nouvelle valeur dans ta session, elle remplace la précédente, il est donc nécessaire d'utiliser un tableau.

Etapes :

- verifier si le panier existe sinon le creer et mettre le produit

exemple $_SESSION['panier'] = array (array('produit'=>$_POST['produit']))

- le produit n'existe pas, l'ajouter au panier

exemple $_SESSION['panier'][] = array('produit'=>$_POST['produit'])

tu peux galement vérifier si le produit est déjà dans le panier, mais comme tu ne semble gérer que le produit...

Eric.

Posté (modifié)

Hum après un petit bricolage

$article=$_GET['prod']."/";
$_SESSION['article']=$article;
$_SESSION['sauvegarde']="$_SESSION[sauvegarde]".$_SESSION['article'];
}

Ensuite je n'ai plus qu'à faire un explode pour récupérer les noms de mes articles et le tour est jouer ;)

J'avoue que je n'ai pas bien compris le fonctionnement du serialize()

Quels sont les risques avec ma solution?

Modifié par Slimer
Posté

euh... parmis les risques : code incompréhensible, illisible, etc :D

Utilises un tableau...

// Création de la liste des articles, si besoin
if( ! isset( $_SESSION['articles'] ) )
$_SESSION['articles'] = array();
// Ajout de l'article à la liste
$_SESSION['articles'][] = $_GET['prod'];

En tous cas et sans vouloir être méchant, se lancer dans un site "commercial" avec si peu de maîtrise du langage, c'est extrêmement risqué.

Posté

serialize et unserialize permettent de transformer un tableau en chaine de caractère.

Ca peut être utile (dans certains cas) pour faire passer un tableau dans une url, ou dans des cookies, dans des sessions, dans... quantité de choses, et faire l'opération inverse, c'est à dire récupérer la chaine et la transformer en tableau.

En tous cas et sans vouloir être méchant, se lancer dans un site "commercial" avec si peu de maîtrise du langage, c'est extrêmement risqué.

+1 :/

Posté

Merci pour vos réponses, je vais essayer la solution tableau, le site boutique n'est pas à but professionnel ou même à être vendu à un client pour cela il y a os commerce ou magento. Je cherche juste à me mettre dans un cas pratique et comprendre le fonctionnement des paniers. C'est plus un entrainement ;)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...