Téléchargement
illégal
Posez votre question Signaler

[PHP] session_start() [Résolu]

zimeau 648Messages postés 19 avril 2007Date d'inscription 8 mars 2012Dernière intervention - Dernière réponse le 12 mars 2010 à 14:18
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.
Lire la suite 

[PHP] session_start() »

2 réponses
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
ç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!
Ajouter un commentaire
Ce document intitulé « [PHP] session_start() » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?