8797 sujets

Développement web côté serveur, CMS

Bonjour,

Mon code :

if (session_id()=="Capitale") session_start();
include_once("fonctions-panier.php");

Avec ce bout de code, je récupère sans problème ma variable Capitale.

Le programme fonctionne bien mais j'ai à l'écran :

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homez.XXX/XXX/www/TEST/include/header.php:2) in /homez.XXX/XXX/www/TEST/include/config.php on line 2

Le pire c'est que le programme fonctionne comme je veux, mais j'ai ce foutu message !!!

Au secours !!!! Smiley bawling Smiley bawling
Modifié par CVS (03 Nov 2011 - 08:17)
Merci mais le code ne fonctionne que si c'est dans cet ordre, j'ai lue dans php.net que la fonction était autorisé pour :

if (session_id()=="Captiale") session_start();

J'ai pas de message d'erreur si je vire Capitale, mais plue de variable !!! Smiley decu

Donc la ligne de commande est bonne mais si je vire Captitale, je n'ai plus ma variable Capitale.

Donc, je pense que c'est un problème de formule, je dois pas être loin.

Merci pour ton aide.
Salut,

tu es sur que si tu enlève le if (juste le if ) ça marche et sinon plus?

ce que dit la doc c'est que tu ne dois rien afficher.

que tu mette un if avant ton session_start ça change rien.

(sauf si le if ne matche pas et que le premier session_start véritable est 300 ligne plus bas. mais bon vu que ton erreur dit ligne 2. j'imagine que non)

les trucs a vérifier c'est pas de echo, de print pas de partie de code html genre un <html><header> qui traine avant le <?php

en fait c'est très simple: le <?php (ou <? selon ta config ) doit être tout en haut de ton fichier.
ça doit être les premiers caractères de ton fichier.

pas même une ligne vide ou un espace devant ton <?
ça c'est interdit! pareil pas même un espace dans le fichier qui inclus le header.

Pascal
Modifié par CPascal (02 Nov 2011 - 22:53)
Aucun espace après le tag de fin (?>) pour les fichiers inclus avant l'appel à session_start() et pas de BOM UTF-8 non plus.
Modifié par jb_gfx (02 Nov 2011 - 23:07)