IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Cookies] Warning: session_start() Cannot send session cookie ...


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 49
    Points : 33
    Points
    33
    Par défaut [Cookies] Warning: session_start() Cannot send session cookie ...
    Bonjour à tous,

    Je suis en train de créer un petit site web avec ma formation informatique.J'ai un problème avec la session dans ma partie login.

    Message d'erreur :
    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\Galery\login.php:1) in C:\wamp\www\Galery\login.php on line 17

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\Galery\login.php:1) in C:\wamp\www\Galery\login.php on line 17

    Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\Galery\login.php:1) in C:\wamp\www\Galery\login.php on line 19
    Comme je suis un bon élève je suis aller voir dans la partie FAQ session :
    la commande session_start() doit impérativement être exécutée avant tout envoi par le serveur d'en-têtes HTTP au navigateur.

    Dans mon cas je vais une série de test avant de lancer la session, je vous mets le code correspond à l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    <?php
    if(isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion')
    	{	
    		if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['password']) && !empty($_POST['password'])))
    		{
    			$login =$_POST['login'];
    			$password = $_POST['password'];
     
    			$connexion = mysql_connect("localhost","root","");
    			mysql_select_db('gallery',$connexion) or die("erreur base");
     
    			$select = "SELECT * from user WHERE login='$login' AND mdp='$password'";
    			$requete = mysql_query($select) or die ("Erreur select"."<br/>".$select);
     
    			if(mysql_num_rows($requete)==1)
    			{
    				session_start() or die("Impossible de lancer la session");
    				$_SESSION['login'] = $_POST['login'];
    				header('Location: membre.php');
     
    			} 
     
    			else			
    			{	
    				$erreur = "Connexion impossible!";
    			}
    		}
     
    		else 		
    		{
    			$champs = " Les champs ne sont pas remplies ";
    		}
    	}	
    ?>
     
    <!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">
    	<html>
    		<head>
    			<title> Webgallery </title>
    			<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    			<meta http-equiv="Content-Style-Type" content="text/css" />
    		</head>
     
    		<body>
    			<form action="login.php" method="post">
    				<table>
    					<tr>
    						<td>Login : </td>
    						<td> <input type="text" name="login" size="15" /></td>
    					</tr>
    					<tr>
    						<td>Mot de passe : </td>
    						<td> <input type="password" name="password" size="15" /></td>	
    					</tr>		
    					<tr>
    						<td> &nbsp </td>
    						<td> <input type="submit" name="connexion" value="Connexion" /></td>
    					</tr>
    				</table>
    			</form>
    			<?php 
    				if (isset($erreur)) echo $erreur;
    				if (isset($champs)) echo $champs;
     
    			?>		
    			<br/>
    			<br/>
    			<a href="inscription.php"> Inscription </a>
    		</body>
    </html>

    Voila si quelqu'un peut jeter un coup d'œil et m'aider ça serait super.
    Merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Points : 631
    Points
    631
    Par défaut
    Bonjour,
    vérifiez que vous n'avez aucun saut de ligne, espace ou autre avant la toute première balises PHP, car votre code ne devrait pas poser problème dans l'état.

    Sauf que "session_start() or die("Impossible de lancer la session");" est inutile car, normalement, la fonction session_start() retourne toujours TRUE.

    Par contre, vous devez mettre un exit(); après votre header('...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      session_start();
      $_SESSION['login'] = $_POST['login'];
      header('Location: membre.php');
      exit();
    Cordialement,
    DaRiaN.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 49
    Points : 33
    Points
    33
    Par défaut
    Non, il n'y a rien avant la balise php, ni espace , ni saut de ligne.

    Je pense que c'est peut-etre un problème avec mon navigateur ou mon système d'exploitation ou je ne sait quoi : J'ai passé ce code a collègue, et chez lui ça marche, il change juste la partie mysql_connect et l'adapte a sa base.

    Quelqu'un voit l'issue du problème

    (sinon j'ai appliquer tes modifications, ça ne marche toujours pas)

  4. #4
    Membre éclairé Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Points : 876
    Points
    876
    Par défaut
    Toujours et encore le même problème. (Merci d'utiliser la fonction recherche du forum).

    C'est du probablement au BOM http://fr.wikipedia.org/wiki/Marque_...dre_des_octets

    Configurable dans votre éditeur de fichier

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 49
    Points : 33
    Points
    33
    Par défaut
    Merci , para-bol pour ta réponse. C'est en effet ça qui posait problème.

    J'ai trouvé une petite discussion d'ailleurs a ce sujet, je m'excuse de pas l'avoir trouver plutôt : http://www.developpez.net/forums/sho...d.php?t=431328.

    Merci encore , et je retourne phpiser.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Points : 631
    Points
    631
    Par défaut
    Citation Envoyé par gozu13 Voir le message
    (sinon j'ai appliquer tes modifications, ça ne marche toujours pas)
    Mes modifications sont nécessaires pour l'optimisation du script, mais ne résolvent en rien votre problème. Mon précédent message était pourtant clair : [...] car votre code ne devrait pas poser problème dans l'état.

  7. #7
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par |PaRa-BoL Voir le message
    Toujours et encore le même problème. (Merci d'utiliser la fonction recherche du forum).

    C'est du probablement au BOM http://fr.wikipedia.org/wiki/Marque_...dre_des_octets

    Configurable dans votre éditeur de fichier
    Punaise, mais c'est bien sûr ! Comme quoi c'est dans les vieux pots qu'on fait les bonnes recettes. Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Warning: session_start() Cannot send session cache limiter
    Par Anonyme1784 dans le forum Langage
    Réponses: 3
    Dernier message: 13/10/2013, 12h38
  2. Réponses: 3
    Dernier message: 30/07/2012, 16h30
  3. Réponses: 3
    Dernier message: 19/11/2009, 20h28
  4. warning: session_start cannot send cookie
    Par san1981 dans le forum Langage
    Réponses: 8
    Dernier message: 03/11/2008, 22h18
  5. Réponses: 2
    Dernier message: 18/12/2007, 21h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo