01net    Web


Actuellement en ligne : 168 Utilisateurs dont 10 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > PHP
> Probleme session_start()
Auteur
Message
 
<     1       >
bob-leponge
  
   
      ?   @     Posté le 31/01/2007 12:36:47  
Voter pour ce message
Bonjour tout le monde;
Je suis nouveau donc soyez gentil :)

Voici les 2 erreurs généré par mon script (qui ce trouve ci-après):

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\xxxxxx\xxxx\xxxx\xxxx\xxx\testlogin.php:6) in c:\xxxx\xxxx\xxxx\xxxx\\testlogin.php on line 7

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\xxxx\xxxx\xxxx\xxxx\xxxx\testlogin.php:6) in c:\xxxx\xxxx\xxxx\xxxx\xxxx\testlogin.php on line 7

Après plusieurs testes, l'erreur persiste... :(
Je me tourne donc vers vous :)

Voici la source de mes ennuies en ce moment:

<html>
<head>
<title></title>
</head>
<body>
<?php
// Connexion au serveur de base de données
$dbcnx = @mysql_connect("xxxx","xxxx", "xxx");
if (!$dbcnx) {
echo( "<P>Impossible de se connecter " .
"au serveur en ce moment.</P>" );
exit();
}
// Sélectionner votre base de données
if (! @mysql_select_db("xxxxxx")
) {
echo( "<P>Impossible de trouver la base de données " .
"votrebdd
en ce moment.</P>" );
exit();
}
//Debut script TestLogin
if(isset($_POST) &&
!empty($_POST['login']) &&
!empty($_POST['pass'])) {
extract($_POST);
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select password from admin where login='".$login."'";
$req = mysql_query($sql) or die('Erreur
SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
if($data['password'] != $pass) {
echo '<p>Mauvais login / password.
Merci de recommencer</p>';
// On inclut le formulaire d'identification
include ('identification.php');
exit;
}
else {
session_start();
$_SESSION['login'] = $login;
echo ('Vous etes bien logué '.$login);
;
}
}
else echo(" ERREUR");
?>
</body>
</html>
Minus-et-Cortex
  
   
      ?   @     Posté le 31/01/2007 13:32:23  
Voter pour ce message
Salut!

C'est normal ce problème. Tu as déjà envoyé les en-têtes HTTP quand tu appelles session_start. Le fait d'écrire
<html>
<head>
<title></title>
</head>
<body>
<?php
// Connexion au serveur de base de données
$dbcnx = @mysql_connect("xxxx","xxxx", "xxx");
revient à écrire la même chose que
<?php
echo ( "<html>
<head>
<title></title>
</head>
<body>" );
// Connexion au serveur de base de données
$dbcnx = @mysql_connect("xxxx","xxxx", "xxx");

Pour corriger ce problème, fait ceci :
<?php
session_start();
?>

<html>
<head>
<title></title>
</head>
<body>
<?php
include("../mysql_connexion.inc");
// Connexion au serveur de base de données
//$dbcnx = @mysql_connect("xxxx","xxxx", "xxx");
$dbcnx = @mysql_connect($mysql_server,$mysql_login,$mysql_password);
if (!$dbcnx) {
echo( "<P>Impossible de se connecter " .
"au serveur en ce moment.</P>" );
session_destroy();
exit();
}
// Sélectionner votre base de données
//if (! @mysql_select_db("xxxxxx")) {
if (! @mysql_select_db($mysql_database)) {
echo( "<P>Impossible de trouver la base de données " .
"votrebdd en ce moment.</P>" );
session_destroy();
exit();
}
//Debut script TestLogin
if(isset($_POST) &&
!empty($_POST['login']) &&
!empty($_POST['pass'])) {
extract($_POST);
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select password from admin where login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
if($data['password'] != $pass) {
echo '<p>Mauvais login / password.
Merci de recommencer</p>';
// On inclut le formulaire d'identification
include ('identification.php');
session_destroy();
exit;
}
else {
//session_start();
$_SESSION['login'] = $login;
echo ('Vous etes bien logué '.$login);
}
}
else {
echo(" ERREUR");
session_destroy();
}
?>
</body>
</html>
-------
Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.
Gustave Parking
Player11
  
   
      ?   @     Posté le 01/02/2007 22:18:38  
Voter pour ce message
un session start doit toujours etre placé avant tout code Html
bob-leponge
  
   
      ?   @     Posté le 02/02/2007 00:42:59  
Voter pour ce message
Un grand merci a Minus-et-Cortex !!!
Désolé pour le temps de réaction.

Mais je ne savais absolument pas que le script devait etre placé avant la balise <html> !
Cela m'a permis de comprendre et d'apprendre avec cette réponse très prècise!



P.S: merci aussi a Players11
<     1       >

01net > Forum de 01net > Programmation et développement > PHP
> Probleme session_start()

Aller à :

Page générée en : 0.081s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Automobile
Découvrez l'essai vidéo de la nouvelle Renault Koleos : un monospace vraiment tout terrain.
Jeux
Nouveauté : Aidez de nombreuses personnes à atteindre leurs objectifs sportifs !