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 :

Session dont le contenu est " "


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut Session dont le contenu est " "
    Bonjour à tous
    Voila j'ai beau chercher mon erreur depuis un petit bout de temps je n'arrive toujours pas à la trouver, donc si quelqu'un à une idée.
    Le problème : le contenu de ma session est vide
    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
     
    <?php
    session_start();
    $_SESSION['login'] = ' ';
     
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
    	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['mdp']) && !empty($_POST['mdp']))) {
     
    			...
     
    		$sql = 'SELECT count(*) FROM ... WHERE login="'.mysql_escape_string($_POST['login']).'" AND mdp="'.mysql_escape_string(md5($_POST['mdp'])).'"';
    		$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    		$data = mysql_fetch_array($req);
     
    		mysql_free_result($req);
    		mysql_close();
     
    		if ($data[0] == 1) {
    			session_start();
    			$_SESSION['login'] = $_POST['login'];
    			header('Location: ...');
    			exit();
    		}
    		elseif ($data[0] == 0) {
    			$erreur = 'Compte non reconnu. Veuillez retentez ou vous inscrire';
    		}
    		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.';
    	}
    }
    ?>
    J'ai essayé avec le session start au début seul, avec celui du milieu, que celui du milieu, rien à faire ça me fait toujours des sessions vide.
    Merci d'avance pour votre aide !!!

  2. #2
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Bonjour,

    es tu sur de rentrer dans ton if($data[0] == 1) ?
    Place un echo dedans voir si tu y rentres bien

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci
    Je confirme que je rentre bien puisque je suis orienté vers la page en question

    header('Location: ...');

  4. #4
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    C'est dans cette page suivante que tu vois que ta session est vide ?

    As tu bien placé un session_start() de nouveau en première instruction ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    AHHHH
    Merci ça marche enfin
    Donc si je comprend bien il faut mettre des session start partout où on utilise des sessions.
    Encore Merci

  6. #6
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Exact, dès que tu en as besoin pour lire modifier ou créer, bref dès que tu vois un $_SESSION dans ta page

    PS: pense au tag [résolu]

    PS2: vaut mieux sha1 que md5

  7. #7
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Donc si je comprend bien il faut mettre des session start partout où on utilise des sessions.
    Oui et non, ça dépend.

    En faite, une session à une durée de vie (par défaut c'est 24 minutes), et si l'utilisateur ne revient pas sur le site au-delà de cette date d'expiration, la même session ne sera pas reconduite, ce qui peu faire perdre des infos.

    Donc là où je veux en venir, c'est que même si une page n'exploite pas les sessions, il peut être utile de mettre un session_start() quand même pour reconduire à nouveau la session, donc conserver cette persistance qu'offre les sessions.

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 03/11/2009, 17h39
  2. Détecter les cellules dont le contenu est souligné
    Par Dakuan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/07/2008, 13h32
  3. Réponses: 7
    Dernier message: 27/12/2007, 10h36
  4. [XSLT] des noeuds dont le contenu est forcément différent
    Par DelphLaga dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 13/10/2006, 20h06
  5. Fenêtre dont le contenu est dynamique (lié a un menu)..
    Par fredrider dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/10/2006, 13h14

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