Page 1 sur 1
Probleme de session.
Posté : 23 mai 2006, 15:15
par freepopo
Bonjour, j'ai le message suivant qui s'affiche sur mes pages, apres m'etre logué :
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at e:\ougarit\easyphp1-8\www\ougarit\affichage_tout.php:2) in e:\ougarit\easyphp1-8\www\ougarit\haut_de_page.php on line 1
Sachant que je fais un session start juste apres le login puis dans un fichier menu d'entete que j'inclus dans toutes les autres pages.
Les session_start sont tous les 2 faits dans au début des pages, avant tout autre code.
Merci d'avance pour vos réponses.
Posté : 23 mai 2006, 15:20
par freepopo
Note : le probleme est réglé si j'enclenche l'auto_start automatique dans le php.ini mais j'aimerais bien controler les auto_start moi même dans un souci de sécurité.
Posté : 23 mai 2006, 15:22
par jpaul
En français, le message veut dire que session_start() ne peut pas être envoyé au navigateur car quelque chose a déjà été envoyé.
Si possible, déplace ton session start au début de ton script.
Autrement, vérifie soigneusement que tu n'as pas un echo ou autre qui envoie quelquechose avant l'appel à session_start().
Posté : 23 mai 2006, 15:36
par freepopo
J'ai bien mis mes deux sessions_start au debut de mes scripts.
Mais vu que j'inclus a chaque fois mon entete, il y a du code derriere mon session_start, ce meme code serais donc DEVANT le session_start suivant (c'est pourquoi il n'est pas executé) ?
Posté : 23 mai 2006, 16:55
par Invité
Le premier element que tu devrais avoir c'est le session_start uniquement puis ton script.
Si tu met un echo avec ou une autre valeur il te le refusera automatiquement, il faut que ce soit le seul et premier element de ton script, ensuite tu peux mettre le reste.
Posté : 23 mai 2006, 17:00
par freepopo
ok, je vais essayer, tu veux dire que je dois avoir un truc du genre :
<? session_start(); ?>
//puis du code derriere
ou carrément :
<? session_start(); ?>
//rien du tout derriere
Posté : 23 mai 2006, 17:01
par agité
<?php
session_start();
?>
ou
<?php
session_start();
//ton script
?>
c'est ce que je voulais dire et en fait c'est moi au dessus mais pas loger.
Posté : 23 mai 2006, 17:06
par jpaul
En fait ce qui est important c'est qu'il n'y ait surtout pas echo('quelquechose'); avant ton session_start();
C'est pour ça qu'on te recommande de le mettre en début de script.
Une fois que le session_start a été envoyé, tu peux faire ce que tu veux.