J'utilise les balises #SESSION_SET et #SESSION pour vérifier si un visiteur a bien lu un texte avant d'accéder au site; à la fin du texte il y a formulaire CVT, avec un bouton "j'ai lu"; l'action du formulaire est :
include_spip('inc/session');
if (_request('lu')=="oui") session_set('lu', true);
if (_request('lu')=="non") session_set('lu', '');
Ensuite dans les squelettes, un simple test sur la variable 'lu' de la balise session permet d'autoriser l'accès ou non au contenu :
Ma démarche est de ne pas obliger un visiteur à s'identifier, mais seulement de vérifier s'il a bien cliqué sur "j'ai lu".
J'aurais 2 questions à propos de #SESSION et #SESSION_GET :
1. est-ce qu'il y a un moyen de régler la durée pendant laquelle la variable 'lu' sera présente dans la balise #SESSION ?
2. pouvez-vous confirmer que #SESSION est bien disponible même pour un utilisateur non identifié ? (je ne suis jamais sur de ne pas avoir été authentifié, à un moment ou un autre, sur mes sites SPIP...)
1. est-ce qu'il y a un moyen de régler la durée pendant laquelle la variable
'lu' sera présente dans la balise #SESSION ?
non, c'est la durée de la session. Si tu veux limiter dans le temps
ajoute un session_set('lu_date', date()) et contrôle if
(session_get('lu') AND session_get('lu_date' < date de fin...)) .
2. pouvez-vous confirmer que #SESSION est bien disponible même pour un
utilisateur non identifié ? (je ne suis jamais sur de ne pas avoir été
authentifié, à un moment ou un autre, sur mes sites SPIP...)