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 :

Problème de session [PHP 5.0]


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 5
    Par défaut Problème de session
    Bonjour à tous !
    Je sais bien que le problème à déjà été traité un million de fois,
    et que c'est une faute de débutant,
    Mais malheureusement je n'arrive pas à m'en sortir,
    il faut parfois un regard extérieur

    Voila mon souci,

    Lorsque j'essaye de me connecter à la zone membre j'obtient l'erreur suivante :

    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /homepages/1/d238497506/htdocs/QQJF/index.php:1) in /homepages/1/d238497506/htdocs/QQJF/index.php on line 17

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homepages/1/d238497506/htdocs/QQJF/index.php:1) in /homepages/1/d238497506/htdocs/QQJF/index.php on line 17

    Voici mon code :

    index.php
    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
     
    <?php
    // on teste si le visiteur a soumis le formulaire de connexion
    require_once('connexion.php');
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
    	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
     
    		// on test si une entrée de la base contient ce couple login / pass
    		$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"';
    		$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    		$data = mysql_fetch_array($req);    
    		mysql_free_result($req);
    		mysql_close();
     
     
    		// si on obtient une réponse, alors l'utilisateur est un membre
    		if ($data[0] == 1) {
    			session_start();
    			$_SESSION['login'] = $_POST['login'];
    			echo '<a href="membre.php" title="Accédez à votre profil">Mon profil</a>';
    			exit();
    		}
    		// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
    		elseif ($data[0] == 0) {
    			$erreur = 'Compte non reconnu.';
    		}
    		// sinon, alors la, il y a un gros problème :)
    		else {
    			$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
    		}
     
     
    	}
    	else {
    		$erreur = 'Au moins un des champs est vide.';
    	}
    }
    ?>
    <html>
    <head>
    <title>Accueil</title>
    </head>
     
    <body>
    Connexion à l'espace membre :<br />
    <form action="index.php" method="post">
    Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
    Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
    <input type="submit" name="connexion" value="Connexion">
    </form>
    <a href="inscription.php">Vous inscrire</a>
    <?php
    if (isset($erreur)) echo '<br /><br />',$erreur;
    ?>
    </body>
    </html>

    membre.php
    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
     
    <?php
    session_start();
    if (!isset($_SESSION['login'])) {
    	header ('Location: index.php');
    	exit();
    }
    ?>
     
    <html>
    <head>
    <title>Espace membre</title>
    </head>
     
    <body>
    Bienvenue<?php echo htmlentities(trim($_SESSION['login'])); ?>!<br />
    <a href="deconnexion.php">Déconnexion</a>
    </body>
    </html>
    Merci par avance de votre aide, je suis vraiment coincé,
    Je me prend la tête depuis des heures ...

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    soit tu as un espace ou ligne vide avant <?php
    soit ton fichier est au format UTF8 avec BOM (a controler avec notepad++)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 5
    Par défaut
    Hey ya du mieu Merci beaucoup !!! je connaissais pas ce problème d'UTF-8 (sans BOM) tu peux m'en dire un peu plus la dessus ?

    cependant j'ai toujours l'erreur suivant :

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homepages/1/d238497506/htdocs/QQJF/connect.php:2) in /homepages/1/d238497506/htdocs/QQJF/index.php on line 17

    une idée ?
    En tout cas merci beaucoup de ton aide sabotage !

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 5
    Par défaut
    Après avoir réencoder mon Connect.php en UTF8 sans Bom impeccable, Un Immense MERCI à TOi sabotage !

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

Discussions similaires

  1. [Servlets - JSP] Problème de session
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/11/2011, 10h54
  2. Problème de session
    Par kephy dans le forum Langage
    Réponses: 11
    Dernier message: 24/11/2005, 11h08
  3. Problème de session
    Par meda dans le forum Langage
    Réponses: 13
    Dernier message: 25/10/2005, 19h25
  4. problème de session en cours
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/07/2005, 15h36
  5. Gros problème de session/cookies
    Par valfredr dans le forum XMLRAD
    Réponses: 18
    Dernier message: 03/06/2004, 10h21

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