|
Présentation technique des sessions
|
|
Les erreurs classiques
Erreur classique :
Warning: Cannot send session cookie - headers already sent by (output
started at XXX) in XXX on line 8
Warning: Cannot send session cache limiter - headers already sent
(output started at XXX) in XXX on line 8
C'est l'erreur la plus classique. Un caractère affichable
est présent avant le session_start.
Ceci peut être un simple espace ou passage à la ligne
avant le <? Ou un echo qui ne doit pas être avant le session_start.
Cela vient du fait que les sessions se comportent comme les cookies
et doivent etre faites avant de renvoyer des information au serveur
(pas de echo, ni de <html> avant...).
Perte de session :
Si le PHP n'est pas compilé avec l'option --enable-trans-sid,
il est NECESSAIRE d'ajouter l'identifiant de session dans
les URLs (locales).
exemple : echo "<a href=\"next.php?".session_name()."=".session_id()."\">next
page</a>";
|