Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/06/2011, 11h28   #1
Membre du Club
 
Avatar de fazpedro
 
Homme
Inscription : août 2009
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2009
Messages : 360
Points : 64
Points : 64
Par défaut Problème de session

Bonjour,

voici le message d'erreur que j'obtiens sur une ouverture de session dans une page de mon site :
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at annoncer2.php:1) in annoncer2.php on line 2

Merci d'avance.

Code PHP :
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
<?php
session_start(); //On ouvre la session pour pouvoir verifier si le membre est connecté
require("Configuration.php"); // accès à la base de données
 
if (!isset($_SESSION['pseudo'])) //Le code pour verifier qu'une session existe
{
die('<b>'.'Vous n\'êtes pas autoris&eacute; &agrave; acc&eacute;der &agrave; cette page !'.'</b>'); //Si non, on arrete le script et on affiche un message
}
$sql = connect_sql();
$pseudo_membre = $_SESSION['pseudo'];
$requete = mysql_query("SELECT * FROM pdf_membre WHERE `pseudo`='$pseudo_membre'"); 
$result = mysql_fetch_array ($requete);
$id = $result['id'];
$pseudo = $result['pseudo'];
$mail = $result['mail'];
/* On peut recuperer plus d'info si besoin */
?>
 
<!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="fr">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>MON SITE</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
 
<?php include('bandeau.php'); ?> <!-- insère le bandeau principal en haut -->
 
<div id="mainContent">
 
<table width="478" border="0">
    <tr>
    <td width="255">Votre Pseudo : </td>
    <td width="213"><? echo $pseudo; ?></td>
    </tr>
    <tr>
    <td>Votre E-mail : </td>
    <td><? echo $mail; ?></td>
    </tr>
	<tr>
	<td><a href="pdf_espace_membre_changeinfo.php">Modifier mes informations</a></td>
	</tr>	
	<tr>
	<td><a href="pdf_deconnexion.php">Deconnexion</a></td>
	</tr>
</table>
 
	<br />
	<br />
 
<?php include('formulaire_insertion.php'); ?> <!-- insère le formulaire d'insertion -->
 
<br />
<br />
<br />
<br />
 
<?php include('bas_de_page.php'); ?> <!-- insère le bas de page  -->
 
</body>
 
</html>
fazpedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 12h11   #2
En attente de confirmation mail
 
Étudiant
Inscription : avril 2011
Messages : 19
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 19
Points : 34
Points : 34
Citation:
Envoyé par fazpedro Voir le message
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at annoncer2.php:1) in annoncer2.php on line 2
Très souvent du à des caractères existant avant l'appel à la session_start().

Vérifie si tu a pas d'espace/retour à ligne avant le <?php

Sinon, Est ce que cette page est appelé par un include ?
dev_cisii est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 14h20   #3
Membre du Club
 
Avatar de fazpedro
 
Homme
Inscription : août 2009
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2009
Messages : 360
Points : 64
Points : 64
à dev_cisii :

- il n'y a pas d'espace ou de retour chariot avant le <?php

- annoncer2.php est issue de la page dont voici le code :
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
 
<?
session_start(); // Pour la suite
require ("Configuration.php"); //accès à la base de données
 
$pseudo = $_POST['pseudo']; //On recupère le pseudo et le pass
$pass = $_POST['password'];
if (!empty($pseudo) && !empty($pass)) //S'ils ne sont pas vides
{
	$sql = connect_sql(); //On se connecte à MySQL
	$reponse = mysql_query ("SELECT * FROM pdf_membre WHERE pseudo='$pseudo'"); //On recupère les infos à partir du pseudo
	$donnees = mysql_fetch_array ($reponse);
	$verif = $donnees['pass'];
    $id = $donnees['id'];
	$pseudo_sql = $donnees['pseudo'];
	$confirm = $donnees['confirm'];
 
	if($pass != $verif) //On verifie que le mot de passe entré est égal à celui de la Base de Données, si le passe est différent
	{
    $reponse = 'Votre identifiant ou votre code secret est incorrect';
	$redirection = 'pdf_connexion.php'; //On va rediriger vers le formulaire de connexion
	sleep(30);
    }
	elseif(!empty($confirm)) //Si le compte n'est pas activé
	{
	$reponse = 'Votre compte n\'est pas encore activ&eacute;';
	$redirection = 'pdf_connexion.php'; //On va rediriger vers le formulaire de connexion
	sleep(30);
	}  
	else //Sinon tout est bon
    {
	$_SESSION['pseudo'] = $pseudo_sql ; //On créé une variable session avec le pseudo
	$redirection = 'annoncer2.php'; //On redirige vers l'espace membre
	$reponse = 'Connexion r&eacute;ussie vous allez être redirig&eacute;'.'<br>'.'<a href="annoncer2.php">Rejoindre directement l\'insertion dans l\'agenda</a>';
	sleep(30);
    }
	mysql_close($sql); //On ferme la connexion
}
?>
 
<!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="fr">
<head>
<title>MON SITE</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<meta http-equiv="refresh" content="1;URL=<? echo $redirection; //La redirection ?>">
</head>
<body>
<? echo $reponse; ?><!-- La reponse au script -->
</body>
</html>
fazpedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 15h11   #4
En attente de confirmation mail
 
Étudiant
Inscription : avril 2011
Messages : 19
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 19
Points : 34
Points : 34
J'ai fait des tests et rien ne semble poser de problème....

Mise à part au niveau des balises PHP courte, il vaut mieux préféré :
Code :
1
2
3
<?php 
echo $redirection; //La redirection 
?>
Sur le dernière code que tu as poster, la ligne 1 est vide (peut être au copier coller)

Solution barbare (et pas sur que cela fonctionne), si tu récupère bien tes infos en sessions c'est à dire que
Code :
echo $_SESSION['pseudo']
fonctionne,

tu peux virer le warning avec @
Sinon je voit pas.

Dernières pistes:

Presque le même cas
En anglais mais correspond plus a ton cas
> Le deuxième parle d'encodage, si tu peux, ouvre ton fichier dans notepad++ ou autre, te permettant de voir tout les caractères (si ton fichier est issu d'un document au format UTF-8 et pas ISO), il pourrai t'indiquer un caractère invisible/non interpréter par ton éditeur
dev_cisii est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 10/06/2011, 14h30   #5
Membre du Club
 
Avatar de fazpedro
 
Homme
Inscription : août 2009
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2009
Messages : 360
Points : 64
Points : 64
Merci dev_cisii !

j'ai mis le caractère @ :
@session_start();

et là plus de message !
fazpedro est déconnecté   Envoyer un message privé Réponse avec citation 01
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h49.


 
 
 
 
Partenaires

Hébergement Web