BOnjour,
J'ai un petit problème sur mon site, je n'autorise les sessions que par cookie, en faisant comme suit :
Cela ça fonctionne bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if( isset( $_COOKIE[ session_name() ] ) ) { session_start(); }
Mais si client refuse les cookies il ne peut pas franchir la page d'identification. Il convient donc de lui afficher un message.
Donc j'initialise un cookie dès la page d'accueil(qui inclut toutes les autres pages).
Comme ça quand le gars arrive sur identification.php un script vérifie s'il accepte les cookies :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 setcookie ( "testCookieAcceptes", "Oui" );
Les messages s'affichent bien dans les deux cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if(isset($_COOKIE['testCookieAcceptes'])) {echo $_COOKIE['testCookieAcceptes'];} else { echo 'ACCEPTES LES COOKIES ';}
Maintenant si le gars s'est bien connecté et retourne sur le site, ce qui veut donc dire qu'il accepte les cookies, j'obtiens l'erreur classique :
Et donc dans la page index.php qui déclenche l'erreur nous avons cela (tout en haut, cela va sans dire) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home.2/site/www/index.php:10) in /home.2/site/www/index.php on line 13
Une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 if(!isset( $_COOKIE[ session_name() ] )) setcookie ( "testCookieAcceptes", "Oui" ); if( isset( $_COOKIE[ session_name() ] ) ) { session_start(); ;}
Partager