[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 -
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 :
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.
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:
- [PHP] session_start()
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
2 réponses
Bonjour,
Je pense que tu fais une petite confusion entre clés et valeurs dans ton tableau.
Quand tu écris
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 :
Il faudrait remplacer ton code "if" par ceci :
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
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