Se connecter / S'enregistrer
Votre question

Problème session php

Tags :
  • Mot de passe
  • Programmation
Dernière réponse : dans Programmation
20 Novembre 2005 21:41:51

Alors voili. Bien que le sujet ait été déjà traité ici et que j'ai suivi les infos données j'ai depuis 4 jours un message d'erreur que je ne comprend pas.

A la ligne 4 dans le fichier /factures/login.php
session_start(): Cannot send session cache limiter - headers already sent.

Le script se décompose ainsi.

une page index.php :

<?php include("inc/conf.php");

?>
<?php include("inc/fonctions.php");

?>
<?php include("verif.php");

?>
<?php include("inc/header.php");

?>

<center>Bienvenue</center>

<br>

<center>
<a href="/<?php echo("$prefixe_dossier");

?>logout.php">Déconnexion</a>
</center>

<?php include("inc/footer.php");

?>

Puis login.php :
<?php session_start();
include("inc/conf.php");

?>
<?php include("inc/fonctions.php");

?>
<?php



if (session_is_registered('pseudo')) {
mysql_close($connect_db);
header("location: dossier/index.php");
exit;
}

if ($action == "send") {
if (($pseudo == $pseudo_conf) and ($password == $password_conf)) {
session_register("pseudo");
session_register("password");

mysql_close($connect_db);
header("Location:D ossier/index.php?" . session_name() . "=" . session_id());
exit();
}
}

?><html>

<head>
<title>Administration</title>
<link REL="StyleSheet" TYPE="text/css" HREF="/<?php echo("$prefixe_dossier");

?>css/feuille.css">
</head>
<body bgcolor="#FFFFFF">

<table border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#000000">
<tr valign="top">
<td bgcolor="#99CCCC"><b>Identification : </b></td>
</tr>
<tr valign="top">
<td bgcolor="#ffffff">

<form action="login.php" method="post">
<input type="hidden" name="action" value="send">

<table border="0" align="center">
<tr>
<td>Pseudonyme : </td>
<td><input type="text" name="pseudo" size="40"></td>
</tr>
<tr>
<td>Mot de passe : </td>
<td><input type="password" name="password" size="40"></td>
</tr>
</table>

<br>

<center><input type="submit" value="Connexion"></center>

</form>

</td>
</tr>
</table>

</body>

</html><?php mysql_close($connect_db);

?>

Et verif.php:

<?php session_start();

if (!session_is_registered('pseudo')) {
mysql_close($connect_db);
header("location: http:" . $prefixe_dossier . "login.php");
exit;
} else {
if (($pseudo != $pseudo_conf) or ($password != $password_conf)) {
session_unregister("pseudo");
session_unregister("password");

session_unset();
session_destroy();
mysql_close($connect_db);
header("location: " . $prefixe_dossier . "login.php");
exit;
}
}

?>

Donc je ne vois pas de code html envoyé avant le header, pas d'espaces avant mes balise <?php>

Please HELP!

Autres pages sur : probleme session php

21 Novembre 2005 04:57:35

Tu peux pas mettre ta session_start() la : il faut qu'il n'y aie aucun texte affiche avant.

Pourquoi ne pas la rajouter a index.php ?

  1. <?php
  2. session_start();
  3. include("inc/conf.php");
  4. include("inc/fonctions.php");
  5. include("verif.php");
  6. include("inc/header.php");
  7. ?>


Comme ca ca marchera, mais ca ouvrira une session pour toutes les pages.

(ps : la balise [code ][/ code] c'est pas pour les chiens, hein)
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS