Page 1 sur 1

Sessions?

Posté : 23 juil. 2005, 11:32
par Brindille
Bonjour,

Je relis mes docs de formation sur un caddy virtuel mais je ne comprends plus ces lignes de codes :
sessions_start();
if (!$PHPSESSID)
{
session_register('items');
}
else
if (! $items)
{
session_register('items');
}
Merci pour votre aide

Posté : 23 juil. 2005, 12:02
par Cyrano
Qu'est-ce que tu ne comprends pas au juste ?

Ça, ce sont des lignes de vérification et d'initialisation de variables de session, mais c'est aussi un peu n'importe quoi.

La seconde ligne vérifie la non existence d'un identifiant de session pour créer une variable de session: c'est idiot juste après le session_start() puisque l'identifiant dans ce cas existera de toutes façons.

Si je comprends ce que tu veux faire, voici un bout de code et l'explication:
<?php
sessions_start(); /* On lance la session (où on la prolonge si elle existait déjà) */
/* On vérifie l'existence de la variable de session "items" et si elle n'existe par on la crée */
if (!isset($_SESSION['items']))
{
    $_SESSION['items'] = array();
}
?>
Mais en fait la création de cette variable n'est pas utile: tu peux la créer au moment de l'utiliser ou la mettre à jour si elle contient déjà des données.

Comme c'est une liste d'article (à priori ?) c'est un tableau, donc on l'initialise en tableau ce qui te permet d'ajouter des articles ou d'en retirer.

Sessions?

Posté : 23 juil. 2005, 12:59
par Brindille
En fait je ne comprends plus :
if ( ! $PHPSESSID)
Ici on regarde si une session a été initialisée?

Cette partie de code est inclut dans ma page qui ajoute des quantités au panier.

Et je comprends pas non plus d'où vient 'items' puisque cette variable n'apparait plus après.

Au final, je n'ai finalement besoin d'utiliser que session_start ()?

Une question: J'ai pu lire sur les forums que session_register() était obsolète?

Re: Sessions?

Posté : 23 juil. 2005, 13:09
par rami
Au final, je n'ai finalement besoin d'utiliser que session_start ()?
Oui ca suffit amplement.
Une question: J'ai pu lire sur les forums que session_register() était obsolète?
Oui c'est obsolète maintenant.
Il suffit de faire $_SESSION['ta_variable'] = 'sa valeur';
De même, session_is_registered('var') est obsolète, il vaut mieux faire:
<?php
session_start();
if(isset($_SESSION['var'])){
//traitement...
}
?>