[PHP] session_start()

Résolu
zimeau Messages postés 711 Date d'inscription   Statut Membre Dernière intervention   -  
zimeau Messages postés 711 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je souhaiterais utiliser la fonction session() de PHP, mais quelque chose ne fonctionne pas dans mon code.
je met avant tout code html l'ouverture de session, a savoir <?php session_start(); ?>
ensuite, dans mon php, j'ai mis ce morceaux de code :
/*
$id = Identifiant de l'article dans la table
*/
if(!array_key_exists($id, $_SESSION['articles_lus'])) {
    $_SESSION['articles_lus']= $id;
    echo "article pas encore lu";
}
else {
     echo "article lu";
}


le problème est que j'ai toujours le message "article pas encore lu" qui s'affiche, alors que je souhaiterais qu'il s'affiche a la première lecture, mais pas si l'article est relu sous la même session (dans ce cas, il affiche "article lu").
quelqu'un saurais d'où viens mon erreur SVP?
Merci.
A voir également:

2 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Je pense que tu fais une petite confusion entre clés et valeurs dans ton tableau.
Quand tu écris
if(!array_key_exists($id, $_SESSION['articles_lus']))

tu sous-entends que $_SESSION['articles_lus'] est un tableau, puisqu'il contiendrait une clé $id.
Par contre, tu ne le traites pas comme un tableau dans la ligne suivante :
$_SESSION['articles_lus']= $id;


Il faudrait remplacer ton code "if" par ceci :
if(!array_key_exists($id, $_SESSION['articles_lus'])) {
    $_SESSION['articles_lus'][$id]= $id;
    echo "article pas encore lu";
}


Par contre, il faut aussi qu'au moment où tu crées la variable de session $_SESSION['articles_lus'], tu lui précises qu'il s'agit d'un tableau, par exemple de la façon suivante :
$_SESSION['articles_lus'] = array();

Xavier
0
zimeau Messages postés 711 Date d'inscription   Statut Membre Dernière intervention   117
 
ça marche! merci bien pour l'aide!
pour la variable SESSION, je pense que c'est un tableau dés sa création :
Description :
Un tableau associatif des valeurs stockées dans les sessions, et accessible au script courant.
Merci!
0