Positionnement de session_start
Bonjour,
j'ai une erreur avec une session. Lorsque j'accède à ma page 'index.php' qui permet de me loguer, j'obtiens cette eruuer ci :
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at d:\www\evadtoi.fr\htdocs\essai2\entete.htm:19) in d:\www\evadtoi.fr\htdocs\essai2\index.php on line 22
Bref, c'est une erreur classique, qui me dit que je dois mettre session_start() au tout début sans ligne de code avant. Ca ok mais je ne vois pas comment faire dans mon cas.
En fait, pour faire simple, j'ai une page en PHP (dont voici le code) qui appelle d'autres pages, 'une page entete.htm', une page 'piedepage.htm', une page 'menu_ficheartiste.htm' qui sont trois pages qui reste identiques sur tout le site. Et j'ai donc l'appel de ma page centrale qui elle change (entre les ***********)
(je n'ai pas tout copié ici, ça serait trop long)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
<body text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<br>
<!-- DEBUT ENTETE -->
<div class="entete" >
<?php
include('entete.htm'); // Appel de l'entete du site
?>
</div>
<!-- FIN ENTETE -->
<!-- DEBUT MENU GAUCHE -->
<div class="menu">
<?php
include('menu_ficheartiste.htm'); // Appel du menu
?>
</div>
<!-- FIN MENU GAUCHE -->
*****************************************************
<div class="centre">
<?php
// On définit le tableau contenant les pages autorisées
// ----------------------------------------------------
$pageOK = array('bas' => 'bas.php',
'config' => 'config.php',
'fonctions' => 'fonctions.php',
'haut' => 'haut.php',
'index' => 'index.php',
'inscription' => 'inscription.php',
'login' => 'login.php',
'logout' => 'logout.php',
'perdu' => 'perdu.php',
'perdu2' => 'perdu2.php',
'profil2' => 'profil2.php',
'profil' => 'profil.php',
'verification' => 'verification.php',
'verifications' => 'verifications.php',);
// On teste que le paramètre d'url existe et qu'il est bien autorisé
// -----------------------------------------------------------------
if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
include($pageOK[$_GET['page']]); // Appel du contenu central de la page
} else {
include('index.php'); // Page par défaut quant elle n'existe pas dans le tableau
}
?>
</div>
*****************************************************
<!-- DEBUT PIED DE PAGE -->
<div class="pieddepage">
<?php
include('pieddepage.htm'); // Appel du pied de page
?>
<!-- FIN PIED DE PAGE -->
</div>
</body>
</html> |
Le problème est que c'est entre ces *** qu'intervient le session_start();
Et comme vous pouvez le voir, il y a du code avant. Je dois sûrement le placer sur cette page mais où ? Alors où dois-je placer le session_start(); pour ne plus voir cette erreur. Avant début entête ?
Merci pour vos réponses
Max