Probleme de session.

Eléphanteau du PHP | 28 Messages

23 mai 2006, 15:15

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.
Enfin quelqu'un qui n'a pas de signature.

Eléphanteau du PHP | 28 Messages

23 mai 2006, 15:20

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é.
Enfin quelqu'un qui n'a pas de signature.

Eléphant du PHP | 451 Messages

23 mai 2006, 15:22

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().
Jpaul
J'essaye d'aider : parfois je fais des erreurs, on me les corrige et j'apprends un peu plus. Super ce forum :)

Eléphanteau du PHP | 28 Messages

23 mai 2006, 15:36

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é) ?
Enfin quelqu'un qui n'a pas de signature.

Invité
Invité n'ayant pas de compte PHPfrance

23 mai 2006, 16:55

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.

Eléphanteau du PHP | 28 Messages

23 mai 2006, 17:00

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
Enfin quelqu'un qui n'a pas de signature.

Mammouth du PHP | 965 Messages

23 mai 2006, 17:01

<?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.

Eléphant du PHP | 451 Messages

23 mai 2006, 17:06

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.
Jpaul
J'essaye d'aider : parfois je fais des erreurs, on me les corrige et j'apprends un peu plus. Super ce forum :)