[php+mySQL]erreur session

Résolu/Fermé
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 - 10 juil. 2007 à 10:17
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 - 10 juil. 2007 à 17:04
bonjour a tous .
voila pour accéder a mon site, il y a un systeme d'authentification .
si login = admin >>> redirection sur la page admin
si login = user >>> redirection sur la page acceuil

que je m'authe en admin ou en user, même combat .
L'authentification marche, la redirection correspondante aussi, mais avant d'afficher le contenu de ma page, voila ce qui s'affiche :

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1-8\www\projet_final\qcm\menu_admin.php:6) in c:\program files\easyphp1-8\www\projet_final\qcm\session_verif.php on line 9

il me parle d'un header déja envoyé ....
voila je capte pas trop donc je vous file le code de session_verif.php si cela peut vous aider :)

<?php
// les variables ont bien été récupérées on se connecte donc à la bdd pour vérification du login et du mot de passe
mysql_connect("localhost", "root", ""); 
mysql_select_db("test");

// réouverture de la session
session_name("test");
session_start();
// on vérifie que la session est bien ouverte
if(isset($_SESSION["login"]) && isset($_SESSION["id"]) && isset($_SESSION["abracadabra"])) 
	{
		$id_valid = $_SESSION["id"];
		$l_valid = $_SESSION["login"];
		$res = mysql_query(" SELECT * FROM `t_login` WHERE `user_id` = '".$id_valid."' AND `user_login` = '".$l_valid."' ");
		if(@mysql_num_rows($res) == 0)
			{
				session_destroy();
				header("Location: index.php?message=no_session");
		}
		// si la session est différente des paramètres rentrés
		if($_SESSION["abracadabra"] != "lapin_rose")
			{
				session_destroy();
				header ("Location: index.php?message=no_session");
		}
}
// sinon on renvoi aussi à la page d'accueil
else header ("Location: index.php?message=no_session");
?>
A voir également:

3 réponses

bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
10 juil. 2007 à 17:04
bon vous ne pouviez rien faire pour moi ^^ .
j'avais tout simplement mis mes <meta> avant la balise <html> .
personne ne peut faire quelque chose contre cette weak attitude ^_^.
2
Ohm-WorK Messages postés 1464 Date d'inscription mardi 25 octobre 2005 Statut Contributeur Dernière intervention 29 octobre 2019 420
10 juil. 2007 à 10:30
Salut

Ton session_start() doit apparaitre en tout premier dans ton code, sinon, il te met le message d'erreur que tu rencontre... !

Tchusss
1
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
10 juil. 2007 à 10:39
bon je viens de tester comme ca :

<?php
session_start();
// les variables ont bien été récupérées on se connecte donc à la bdd pour vérification du login et du mot de passe
mysql_connect("localhost", "root", ""); 
mysql_select_db("test");

// réouverture de la session
session_name("test");
...
...


L'authentification marche toujours correctement mais le résultat est pire :

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp1-8\www\projet_final\qcm\menu_admin.php:6) in c:\program files\easyphp1-8\www\projet_final\qcm\session_verif.php on line 2

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1-8\www\projet_final\qcm\menu_admin.php:6) in c:\program files\easyphp1-8\www\projet_final\qcm\session_verif.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\projet_final\qcm\menu_admin.php:6) in c:\program files\easyphp1-8\www\projet_final\qcm\session_verif.php on line 28


:s
1