Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
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 22/03/2007, 21h15   #1
Candidat au titre de Membre du Club
 
Étudiant
Inscription : mars 2007
Messages : 42
Détails du profil
Informations personnelles :
Âge : 22
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2007
Messages : 42
Points : 12
Points : 12
Envoyer un message via MSN à selmac594
Par défaut Bug du fragment de code session_start()

Bonsoir,

J'ai un problème avec mon panel d'administration, j'ai ce message :


Citation:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/144/sda/5/3/stargateworldfrance/admin/index.php:3) in /mnt/144/sda/5/3/stargateworldfrance/admin/index.php on line 12

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/144/sda/5/3/stargateworldfrance/admin/index.php:3) in /mnt/144/sda/5/3/stargateworldfrance/admin/index.php on line 12

Ligne 12
:

Code :
session_start(); // début de session

Ligne 4 à 51 :

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
 
 
<?php
/*
-----------------------------------
------ SCRIPT DE PROTECTION -------
          DBProtect V1.2
-----------------------------------
*/
 
session_start(); // début de session
 
if (isset($_POST['login'])){ // execution uniquement apres envoi du formulaire (test si la variable POST existe)
	$login = addslashes($_POST['login']); // mise en variable du nom d'utilisateur
	$pass = addslashes(md5($_POST['pass'])); // mise en variable du mot de passe chiffré à l'aide de md5 (I love md5)
 
// requete sur la table administrateurs (on récupère les infos de la personne)
mysql_select_db($database_dbprotect, $dbprotect);
$verif_query=sprintf("SELECT * FROM utilisateurs WHERE login='$login' AND pass='$pass'"); // requête sur la base administrateurs
$verif = mysql_query($verif_query, $dbprotect) or die(mysql_error());
$row_verif = mysql_fetch_assoc($verif);
$utilisateur = mysql_num_rows($verif);
 
 
	if ($utilisateur) {	// On test s'il y a un utilisateur correspondant
 
	    session_register("authentification"); // enregistrement de la session
 
		// déclaration des variables de session
		$_SESSION['privilege'] = $row_verif['privilege']; // le privilège de l'utilisateur (permet de définir des niveaux d'utilisateur)
		$_SESSION['nom'] = $row_verif['nom']; // Son nom
		$_SESSION['prenom'] = $row_verif['prenom']; // Son Prénom
		$_SESSION['login'] = $row_verif['login']; // Son Login
		$_SESSION['pass'] = $row_verif['pass']; // Son mot de passe (à éviter)
 
		header("Location:accueil.php"); // redirection si OK
	}
	else {
		header("Location:index.php?erreur=login"); // redirection si utilisateur non reconnu
	}
}
 
 
// Gestion de la  déconnexion
if(isset($_GET['erreur']) && $_GET['erreur'] == 'logout'){ // Test sur les paramètres d'URL qui permettront d'identifier un contexte de déconnexion
	$prenom = $_SESSION['prenom']; // On garde le prénom en variable pour dire au revoir (soyons polis :-)
	session_unset("authentification");
	header("Location:index.php?erreur=delog&prenom=$prenom");
}
?>
En espérant que vous pourrez m'aider à résoudre ce problème.

D'avance, merci

Selmac594.

P.S Avant j'avais 4 fois ce message d'erreur, mais j'ai mis le dossier session.


____

J'ai aussi un autre souci, avec les balises header("Location: xx.php");

D'avance, merci
selmac594 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 22h52   #2
Membre expérimenté
 
Inscription : octobre 2004
Messages : 872
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 872
Points : 582
Points : 582
salut

le message d'erreur est clair, une sortie (html) est envoyé a la ligne 3 de ton fichier, en fait cela correspond a l'espace blanc au début de ton fichier (avant les balise php)
jeff_! est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 12h21   #3
Candidat au titre de Membre du Club
 
Étudiant
Inscription : mars 2007
Messages : 42
Détails du profil
Informations personnelles :
Âge : 22
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2007
Messages : 42
Points : 12
Points : 12
Envoyer un message via MSN à selmac594
Pour le Bug de session start() il est résolu mais maintenant mon autre problème c'est :

Code :
1
2
3
4
5
 
/* 71 */ if(isset($_POST['modif']) && ($_POST['modif'] != "1")){ 
/* 72 */	$id = $_POST['modif'];
/* 73 */	header("Location:fichenews.php?num=$id");
/* 74 */	}
J'ai ce message la qui vient :

Citation:
Warning: Cannot modify header information - headers already sent by (output started at /mnt/144/sda/5/3/stargateworldfrance/news.php:10) in /mnt/144/sda/5/3/stargateworldfrance/news.php on line 73
selmac594 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 11h43   #4
Membre chevronné
 
Inscription : juin 2004
Messages : 747
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : juin 2004
Messages : 747
Points : 741
Points : 741
Citation:
Envoyé par jeff_!
salut

le message d'erreur est clair, une sortie (html) est envoyé a la ligne 3 de ton fichier, en fait cela correspond a l'espace blanc au début de ton fichier (avant les balise php)
Bonjour,

je débute aves les sessions et j'ai constamment ce message d'erreur, et en plus une session est crée est crée à chaque appel de session_start()..
j'ai donc la même alerte mais aucun espace et/ou caractère avant ma balise php
Code :
1
2
3
4
5
6
7
8
9
<?php
session_start();
?>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
...
mon éditeur c'est Notepad++ v4.0.2


edit: En fait ça venait du jeu de caractères de mon éditeur... php n'aime l'utf-8 ou alors j'arrive pas à configurer le php.ini comme il faut...
c'est pas : default_charset = "utf-8" ???
pc.bertineau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 14h41   #5
Membre habitué
 
Avatar de Shinji62
 
Inscription : novembre 2006
Messages : 135
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 135
Points : 133
Points : 133
regarde du cotés de ob_start =)
Shinji62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web