Warning: session_start() [function.session-st

Samiche77 -  
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Désolé d'entrée de poster une demande déjà à de nombreuses reprises abordées mais je ne m'en sort pas mais alors pas du tout !!!

J'utilise un petit script de log par ID et MDP qui fonctionne parfaitement. Dès que je veux l'interger dans mon site en cours ja'ai ce message : Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Users\*******\Desktop\*****\index.php:85) in C:\Users\******\Desktop\******\revendeur\index.php on line 19

Warning: Cannot modify header information - headers already sent by (output started at C:\Users\********\Desktop\*******\index.php:85) in C:\Users\********\Desktop\******\revendeur\index.php on line 21

Et malgré une journée sur les forums je suis au même point ! [Quel boulet; vous avez le droit ;-)].

Bref,

Voici les codes :

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<link href="images/icone.ico" type="image/x-icon" rel="shortcut icon" />
<head>
<title>|
<Meta
<meta
<meta
<link href="layout.css" rel="stylesheet" type="text/css" />
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<div class="main">
<!--==========header=========== -->
<ul class="menu">
<div id="menu">
BLABLA
</div>
<!--========//header=========== -->
<!-- -->
<!--==========content=========== -->
LIGNE 85 : <?php
BLA BLA
?>

<!--========//footer=========== -->
BLABLA

index.php du dossier revendeur (je rempli l'ID et le mot de passe)

<?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {

$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('revendeurs', $base);

// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

mysql_free_result($req);
mysql_close();

// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();//
$_SESSION['login'] = $_POST['login'];
header('Location: index.php?pg=membre');
exit();
}
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu.';
}
// sinon, alors la, il y a un gros problème :)
else {
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Accueil</title>
</head>

<body>
<center><font color="#E37C08"><h3>Connexion à l'espace revendeur : </h3></font></center><br />
<center>
<table border="0">
<form action="index.php?pg=accueil_revendeur" method="post">

<tr>
<td>&nbsp &nbsp Identifiant:</td>
<td>
<input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login']));?>">
</td>
</tr>

<tr>
<td>Mot de passe:</td>
<td>
<input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass']));?>">
</td>
</tr>

</table>
<br>
<input type="submit" name="connexion" value="Connexion" style="margin-left: 115px;margin-top: -5px; padding: 3px">

<a href="index.php?pg=demande_inscription" style="margin-left: 10px;"><strong>Vous inscrire</strong></a>
</form>
<?php
if (isset($erreur)) echo '<br /><br />',$erreur;?>
</body>
</html>
<br><br>



index.php du dossier revendeur (page de validation sur laquelle je devrai arriver)

<?php
if (!isset($_SESSION['login'])) {
header ('Location: index.php?pg=accueil_revendeur');
exit();
}
?>
<html>
<head>
<title>Espace membre</title>
</head>

<body>
Bienvenue<?php echo htmlentities(trim($_SESSION['login']));?>!<br />
<a href="deconnexion.php">Déconnexion</a>
</body>
</html>

Mais je n'arrive jamais a valider l'identification; toujours ce message !!!

Si une âme charitable pouvait me venir en aide...

Merci par avance et désolé pour le pâté !

4 réponses

CrazyWorld Messages postés 326 Date d'inscription   Statut Membre Dernière intervention   41
 
Salut tu dois initialiser ta session en debut de code
0
Popoï_ Messages postés 179 Statut Membre 76
 
Il faut mettre la fonction session_start() AVANT TOUT code html: même avant le doctype
0
Samiche77
 
Salut,

Tout d'abord merci de m'avoir répondu...

J'avais cru comprendre sur les autres forums que le problème venait du session start et header de (revendeur/index.php) mais même en mettant le session start au début ca marche pas...

Honnêtement j'imagine que c'est tout con, que je suis une buse mais là je vois pas.

Si un esprit averti pouvais m'aider.
0
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
Ton code doit être comme suit :
** RIEN **
<?php session_start();
//tout ce que tu veux
?>


Perso je mets session_start(); ne tête d'une lib que j'inclus dans tous les scripts de mon site.
0