Variable de session
333bob333
Messages postés
7
Statut
Membre
-
kernel01 -
kernel01 -
Bonjour,
quand on crée un caddie, on implémente le choix de l'acheteur par addsession (product_id, qte) qu'on lie ensuite à la base de données pour retrouver le prix et les autres paramètres.
Je mémorise donc par addsession deux paramètres, le productid et la quantité.
Si je veux ajouter un autre paramètre, par exemple la couleur ou la taille, comment faire??
En gros je ne sais pas comment ajouter un tableau ou plusieurs valeurs à une variable de session.
quelqu'un pourrait m'aider?
Avec visuel web dev 2008 et VB.
quand on crée un caddie, on implémente le choix de l'acheteur par addsession (product_id, qte) qu'on lie ensuite à la base de données pour retrouver le prix et les autres paramètres.
Je mémorise donc par addsession deux paramètres, le productid et la quantité.
Si je veux ajouter un autre paramètre, par exemple la couleur ou la taille, comment faire??
En gros je ne sais pas comment ajouter un tableau ou plusieurs valeurs à une variable de session.
quelqu'un pourrait m'aider?
Avec visuel web dev 2008 et VB.
A voir également:
- Variable de session
- Www.yahoomail.com ouverture de session - Forum Yahoo mail
- Session invalide ou obsolète - Forum Consommation & Internet
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
- Ouverture de session gmail - Guide
- Veuillez ouvrir une session avec les privilèges du gestionnaire ✓ - Forum Jeux vidéo
2 réponses
Salut,
Il me semble que quand on passe un tableau en session, il faut le serializer, ça permet de le transformer en chaîne de caractère et ça le rend donc transportable.
Pour ça tu as donc besoin de serialize() et unserialize()
Il me semble que quand on passe un tableau en session, il faut le serializer, ça permet de le transformer en chaîne de caractère et ça le rend donc transportable.
Pour ça tu as donc besoin de serialize() et unserialize()
Suffit de changer php.ini
session.auto-start =1
on peut rajouter n'importe quoi dans la vrariable superglobal $_SESSIOn
Exemple
/*
Nom : creation_panier
Description : Construit le panier. Renvoie un tableau contenant rien.
*/
function creation_panier()
{
if(!isset($_SESSION['panier']))
$_SESSION['panier'] = array();
}
/*
Nom : ajouter_article
Description : Ajoute un article dans le panier en vérifier les données. Il faut mettre en paramètre un tableau correspond au tableau $_POST des fiches article ainsi que le panier. Ne fait rien en cas d'echec.
*/
function ajouter_article($tableau_formulaire_post)
{
if(is_array($_SESSION['panier']) AND is_array($tableau_formulaire_post))
{
$nb_article_dans_panier = count($_SESSION['panier']);
$string_id_en_entier = intval($tableau_formulaire_post['id_article']);
$string_quantite_en_entier = intval($tableau_formulaire_post['quantite']);
$tableau_formulaire_post_to_int = array($string_id_en_entier,$string_quantite_en_entier);
$doublon = false;
for($i = 0 ; $i < ($nb_article_dans_panier) ; $i++)
{
if($_SESSION['panier'][$i][0] == $tableau_formulaire_post_to_int[0])
{
$_SESSION['panier'][$i][1] += $tableau_formulaire_post_to_int[1];
$doublon = true;
break;
}
}
if(!$doublon)
{
if($string_id_en_entier != 0 AND $string_quantite_en_entier != 0)
{
$_SESSION['panier'][$nb_article_dans_panier] = $tableau_formulaire_post_to_int;
}
}
}
}
session.auto-start =1
on peut rajouter n'importe quoi dans la vrariable superglobal $_SESSIOn
Exemple
/*
Nom : creation_panier
Description : Construit le panier. Renvoie un tableau contenant rien.
*/
function creation_panier()
{
if(!isset($_SESSION['panier']))
$_SESSION['panier'] = array();
}
/*
Nom : ajouter_article
Description : Ajoute un article dans le panier en vérifier les données. Il faut mettre en paramètre un tableau correspond au tableau $_POST des fiches article ainsi que le panier. Ne fait rien en cas d'echec.
*/
function ajouter_article($tableau_formulaire_post)
{
if(is_array($_SESSION['panier']) AND is_array($tableau_formulaire_post))
{
$nb_article_dans_panier = count($_SESSION['panier']);
$string_id_en_entier = intval($tableau_formulaire_post['id_article']);
$string_quantite_en_entier = intval($tableau_formulaire_post['quantite']);
$tableau_formulaire_post_to_int = array($string_id_en_entier,$string_quantite_en_entier);
$doublon = false;
for($i = 0 ; $i < ($nb_article_dans_panier) ; $i++)
{
if($_SESSION['panier'][$i][0] == $tableau_formulaire_post_to_int[0])
{
$_SESSION['panier'][$i][1] += $tableau_formulaire_post_to_int[1];
$doublon = true;
break;
}
}
if(!$doublon)
{
if($string_id_en_entier != 0 AND $string_quantite_en_entier != 0)
{
$_SESSION['panier'][$nb_article_dans_panier] = $tableau_formulaire_post_to_int;
}
}
}
}