Résolu Problème de sessions - Espace membre

Paul GTP

Légende vivante
VIP
Inscription
15 Août 2013
Messages
6 195
Réactions
7 549
Points
27 832
RGCoins
127
Hey :)
J'essaie de créer un espace membre pour mon site mais je bloque sur un truc tout bête :d:

Il s'agit, une fois l'inscription achevée, de rediriger le membre vers l'index et de le connecter :mmh:
Pour ça, je crée une $_SESSION de test où je stocke le nom Jean pour essayer...

Mais malheureusement sans résultat !
Je pense que c'est un truc bête que j'ai oublié, mais je ne sais pas où :xD:
À vrai dire, je retouche à PHP depuis peu à cause d'une longue pause contre mon grès :d:

Mon register.php
f4754aa0335e4f8eaefad64225865f6c.png

(crée une session username "Jean")

Mon index.php
9d2173c5f7a34fe9865bb861e37adc3e.png

(appelle la session "Jean")

Mon config.php
8ed1ba43f0574d56a627758db858c481.png

(j'ai un require_once sur toutes mes pages)

Merci d'avance ! :love:
 
Hey :)
J'essaie de créer un espace membre pour mon site mais je bloque sur un truc tout bête :d:

Il s'agit, une fois l'inscription achevée, de rediriger le membre vers l'index et de le connecter :mmh:
Pour ça, je crée une $_SESSION de test où je stocke le nom Jean pour essayer...

Mais malheureusement sans résultat !
Je pense que c'est un truc bête que j'ai oublié, mais je ne sais pas où :xD:
À vrai dire, je retouche à PHP depuis peu à cause d'une longue pause contre mon grès :d:

Mon register.php
f4754aa0335e4f8eaefad64225865f6c.png

(crée une session username "Jean")

Mon index.php
9d2173c5f7a34fe9865bb861e37adc3e.png

(appelle la session "Jean")

Mon config.php
8ed1ba43f0574d56a627758db858c481.png

(j'ai un require_once sur toutes mes pages)

Merci d'avance ! :love:
Moi perso je met require 'config.php' :trollface:

Dev avec Atom noob (d)
 
Qu'une fois sur l'index il soit connecter automatiquement ?
Oui :p
Moi perso je met require 'config.php' :trollface:

Dev avec Atom noob :d:
J'avais "require" à la base mais je suis passé à requiree_once... finalement ça ne change pas grand chose :p
Je suis un vieux codeur qui change pas les bonnes vieilles habitudes :troll:
Est-ce que tu es redirigé après la connexion ?

Si non, c'est de là que vient l'erreur.
Aucun soucis de redirection, le compte est même crée dans la base de donnée :p
 
Oui :p

J'avais "require" à la base mais je suis passé à requiree_once... finalement ça ne change pas grand chose :p
Je suis un vieux codeur qui change pas les bonnes vieilles habitudes :trollface:

Aucun soucis de redirection, le compte est même crée dans la base de donnée :p
Go debug
Code:
var_dump($_SESSION);
 
Go debug
Code:
var_dump($_SESSION);
J'avais pas pensé au var_dump, bien vu D:
Je le mets sur l'index ou dans le register ? (Si j'enleve la redirection, evidemment...)

-- Edit --

Index:
8bb29a7be44a4c029177676c81c54705.png

Register:
c23fbf3bbb1c4cce908f7bc4a78b038a.png
 
Dernière édition:
Tiens un vieux code qui fonctionnait dans mes souvenirs je te laisse regarder je garantie pas qu'il soit bien ...
PHP:
  <?php


  $req = $bdd2->prepare("SELECT * FROM utilisateurs");
  $req->execute();
  $row = $req->fetch();

  if(isset($_POST) && isset($_POST['user']) AND isset($_POST['pass'])){
   sleep(1);
   $y = $bdd2->prepare('SELECT COUNT(*) FROM utilisateurs WHERE user = ?');
   $y->execute(array($_POST['user']));
   $x = $y->fetch();
   $user = $_POST['user'];

   $req2 = $bdd2->query('SELECT * FROM utilisateurs WHERE user = "' . $user .'"');
   while($donnees2 = $req2->fetch())
   {
    if($donnees2['rank'] == "10")
    {
      ?>
      <center>
        <FONT color="#DF0101"><i class="fa fa-warning fa-5x"></i></FONT>
        <br>
        <h4>L'accès à votre compte a était restreint par un Administrateur, si vous pensez qu'il sagit d'une erreur vous pouvez nous contacter.</h4>
      </center>
      <?php
    }
    else
    {
     if ($x[0] == 0){
      ?>
      <center>
        <FONT color="#FF0000"><i class="fa fa-exclamation fa-5x"></i></FONT>
        <br>
        <?php

        echo '<h2>Utilisateur inconnu.</h2>';
      }
      else
      {
        $e = $bdd2->prepare('SELECT * FROM utilisateurs WHERE user = ?');
        $e->execute(array($_POST['user']));
        $rep = $e->fetch();
        $password = sha1($_POST['pass']);

        if($password == $rep['pass']){
          $req->execute(array(
           'user' => $_POST['user']));

          $_SESSION['user'] = $rep['user'];
          $_SESSION['connect'] = $rep['user'];
          $_SESSION['id'] = $rep['id'];
          header('Location:index.php');
        }else{
          ?>
          <center>
            <FONT color="#FF0000"><i class="fa fa-exclamation fa-5x"></i></FONT>
            <br>
            <?php

            echo '<h2>Mot de passe incorrect.</h2>';

          }
        }
      }
    }
  }
  ?>
 
Dernière édition:
Tiens un vieux code qui fonctionnait dans mes souvenirs je te laisse regarder je garantie pas qu'il soit bien ...
C'est blindé de fautes d'orthographe :troll:

En fait, je ne pense pas que ton code me soit utile car le problème est que ma $_SESSION n'est pas sauvegardé au fil des pages :mmh:

Le problème vient peut-être du fait que ma page register est composé comme ceci:
register.php => Formulaire
check/register.php => Verification du formulaire
Si le formulaire est valide => ../index.php

Peut-être que si je mettais le formulaire directement sur mon register je n'aurais pas ce probleme ? :mmh:
 
Problème résolu, je suis tout simplement un trisomique :bzr:
Il suffisait de mettre le session_start après la connexion à la bdd :xD:

93b315990f364aa1a95de6883e64cf15.png


J'ai déplacé ma discussion en section Résolu.

Bonne fin de soirée et merci à ceux qui ont essayé de m'aider :D
Paul GTP
 
Si je me trompe pas, normalement un session_start() ce met toujours en début de page (juste après le "<?php")

Cordialement, Westiix
Nope :p
Un session_start() se met avant toute balise de HTML, peut importe sa place dans le code PHP ;)
De plus, le topic est résolu, je t'invite à regarder la solution que je me suis moi-même apporté :D

Bonne fin de soirée,
Paul GTP
 
Retour
Haut