Authentification

Bizook
Invité n'ayant pas de compte PHPfrance

18 sept. 2005, 20:17

Bonjour, voici le code d'erreur que je recois lorsque je vérifie que la personne, pour accéder à cette page, est bien connecté :
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/free.fr/8/a/londelay/index.php:4) in /var/www/free.fr/8/a/londelay/include/files/espace_membre.php on line 31

Bienvenu sur votre espace membre
Voici le code de la page en question :
<?php 

// On inclut le fichier de configuration 
require ("config.php"); 

// On ouvre la session avant tout 
session_start(); 

// On vérifie si la session "login" est enregistrée 
// Si la session "login" n'est pas enregistrée 
if(!session_is_registered(login)) { 
// On affiche ce message d'erreur 
echo "<center>Vous devez vous identifier pour accéder à cette page</center>"; 
     
// On affiche le formulaire d'identification 
include ("formulaire.php"); 
} 

// sinon, la session "login" est enregistrée 
else { 
// On affiche le message de bienvenue 
echo "<center>Bienvenu sur votre espace membre $login</center>"; 
} 

?>
D'ou cela vient il?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

18 sept. 2005, 20:24

regarde si tu n'as pas du code envoyé au navigateur avant le session_start() : du HTML ou même un espace avant la balise <?php

regarde aussi dans le fichier config.php

en passant, session_is_registered ne s'utilise plus, regarde dans la doc :
=> http://fr.php.net/manual/fr/function.se ... stered.php

Bizook
Invité n'ayant pas de compte PHPfrance

18 sept. 2005, 20:28

Non il n'y a rien,
voici le code complet :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
</head>

<body>
<TABLE cellSpacing=8 cellPadding=2 width="100%" border=0>
  <TBODY>
    <TR>
      <TD class=td_milieu vAlign=top align=left><DIV align=left>
          <P><STRONG><FONT size=+1>Espace Membre </FONT></STRONG><BR>
          <FONT color=#999999>Lan At Orne </FONT></P>
      </DIV></TD>
    </TR>
  </TBODY>
</TABLE>
<TABLE cellSpacing=8 cellPadding=2 width="100%" border=0>
  <TBODY>
    <TR>
      <TD class=titre><strong>Bienvenue sur votre espace membre</strong></TD>
    </TR>
    <TR>
      <TD>
<?php 

// On inclut le fichier de configuration 
require ("config.php"); 

// On ouvre la session avant tout 
session_start(); 

// On vérifie si la session "login" est enregistrée 
// Si la session "login" n'est pas enregistrée 
if(!session_is_registered(login)) { 
// On affiche ce message d'erreur 
echo "<center>Vous devez vous identifier pour accéder à cette page</center>"; 
     
// On affiche le formulaire d'identification 
include ("formulaire.php"); 
} 

// sinon, la session "login" est enregistrée 
else { 
// On affiche le message de bienvenue 
echo "<center>Bienvenu sur votre espace membre $login</center>"; 
} 

?>&nbsp;</TD>
    </TR>
  </TBODY>
</TABLE>
</body>
</html>

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

18 sept. 2005, 20:30

et ca
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
</head>

<body>
<TABLE cellSpacing=8 cellPadding=2 width="100%" border=0>
  <TBODY>
    <TR>
      <TD class=td_milieu vAlign=top align=left><DIV align=left>
          <P><STRONG><FONT size=+1>Espace Membre </FONT></STRONG><BR>
          <FONT color=#999999>Lan At Orne </FONT></P>
      </DIV></TD>
    </TR>
  </TBODY>
</TABLE>
<TABLE cellSpacing=8 cellPadding=2 width="100%" border=0>
  <TBODY>
    <TR>
      <TD class=titre><strong>Bienvenue sur votre espace membre</strong></TD>
    </TR>
    <TR>
      <TD> 
c rien ????

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

18 sept. 2005, 20:31

Non il n'y a rien
Ah ouais ? et ça c'est quoi :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
</head>

<body>
<TABLE cellSpacing=8 cellPadding=2 width="100%" border=0>
  <TBODY>
    <TR>
      <TD class=td_milieu vAlign=top align=left><DIV align=left>
          <P><STRONG><FONT size=+1>Espace Membre </FONT></STRONG><BR>
          <FONT color=#999999>Lan At Orne </FONT></P>
      </DIV></TD>
    </TR>
  </TBODY>
</TABLE>
<TABLE cellSpacing=8 cellPadding=2 width="100%" border=0>
  <TBODY>
    <TR>
      <TD class=titre><strong>Bienvenue sur votre espace membre</strong></TD>
    </TR>
    <TR>
      <TD>
<?php
:lol:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

18 sept. 2005, 20:32

lu dans la doc :
Note : Si vous utilisez des sessions basées sur les cookies, vous devez appeler session_start() avant d'afficher quoi que ce soit au navigateur.
=> http://fr2.php.net/session_start

;)

Bizook
Invité n'ayant pas de compte PHPfrance

18 sept. 2005, 21:24

<?
session_start();
?>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
</head>

<body>
<TABLE cellSpacing=8 cellPadding=2 width="100%" border=0>
  <TBODY>
    <TR>
      <TD class=td_milieu vAlign=top align=left><DIV align=left>
          <P><STRONG><FONT size=+1>Espace Membre </FONT></STRONG><BR>
          <FONT color=#999999>Lan At Orne </FONT></P>
      </DIV></TD>
    </TR>
  </TBODY>
</TABLE>
<TABLE cellSpacing=8 cellPadding=2 width="100%" border=0>
  <TBODY>
    <TR>
      <TD class=titre><strong>Bienvenue sur votre espace membre</strong></TD>
    </TR>
    <TR>
      <TD>
<?php 
// On inclut le fichier de configuration 
require ("config.php"); 
// On vérifie si la session "login" est enregistrée 
// Si la session "login" n'est pas enregistrée 
if(!session_is_registered(login)) { 
// On affiche ce message d'erreur 
echo "<center>Vous devez vous identifier pour accéder à cette page</center>"; 
     
// On affiche le formulaire d'identification 
include ("formulaire.php"); 
} 

// sinon, la session "login" est enregistrée 
else { 
// On affiche le message de bienvenue 
echo "<center>Bienvenu sur votre espace membre $login</center>"; 
} 

?>&nbsp;</TD>
    </TR>
  </TBODY>
</TABLE>
</body>
</html>
C'est mieux la?? Mais ca ne change rien :D

Mammouth du PHP | 19672 Messages

18 sept. 2005, 21:45

Presque: avec session_start(), tu ne peux pas utiliser session_is_registered:
donc:
<?
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
</head>

<body>
<TABLE cellSpacing=8 cellPadding=2 width="100%" border=0>
  <TBODY>
    <TR>
      <TD class=td_milieu vAlign=top align=left><DIV align=left>
          <P><STRONG><FONT size=+1>Espace Membre </FONT></STRONG><BR>
          <FONT color=#999999>Lan At Orne </FONT></P>
      </DIV></TD>
    </TR>
  </TBODY>
</TABLE>
<TABLE cellSpacing=8 cellPadding=2 width="100%" border=0>
  <TBODY>
    <TR>
      <TD class=titre><strong>Bienvenue sur votre espace membre</strong></TD>
    </TR>
    <TR>
      <TD>
<?php
// On inclut le fichier de configuration
require ("config.php");
// On vérifie si la session "login" est enregistrée
// Si la session "login" n'est pas enregistrée
if(!isset($_SESSION['login'])
{
    // On affiche ce message d'erreur
    echo "<center>Vous devez vous identifier pour accéder à cette page</center>";
    // On affiche le formulaire d'identification
    include ("formulaire.php");
}
// sinon, la session "login" est enregistrée
else
{
    // On affiche le message de bienvenue
    echo "<center>Bienvenu sur votre espace membre $login</center>";
}
?>
      </TD>
    </TR>
  </TBODY>
</TABLE>
</body>
</html>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

18 sept. 2005, 21:52

autre possibilité: verifie si tu n'a pas un session_start() dans "formulaire.php" que tu inclus