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 :

les pages utilisant la session


Sujet :

Langage PHP

  1. #1
    Membre actif
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Par défaut les pages utilisant la session
    re salut

    j'ai des petits soucis au niveau des sessions, voilà ce que je sais en tout :

    par exemple sur le code de la page login.php je doit mettre les variable login et mot de passe dans une $session
    puis sur les autres pages que j'ai je dois mettre
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php session start () ?>

    est ce que c'est tout ce que je dois faire?

    merci

  2. #2
    Membre chevronné Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Par défaut
    Théoriquement, oui. C'est tout ce que tu dois faire.

    Au tout début de tes pages utilisant les sessions (login.php) (moncompte.php par exemple etc...)

    Mais petite remarque, tu ne devrais pas stocker le mot de passe en session, ça n'apporte rien. Si l'utilisateur s'est authentifié, tu peux juste mettre son identifiant (ex: 386) et son pseudo ^^

    Cordialement, guillaume.

  3. #3
    Membre Expert 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
    Par défaut
    A chaque page ou sont utilisées les sessions, tu dois mettre

    en première instruction

  4. #4
    Membre actif
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Par défaut
    Citation Envoyé par radicaldreamer Voir le message
    Théoriquement, oui. C'est tout ce que tu dois faire.

    Au tout début de tes pages utilisant les sessions (login.php) (moncompte.php par exemple etc...)

    Mais petite remarque, tu ne devrais pas stocker le mot de passe en session, ça n'apporte rien. Si l'utilisateur s'est authentifié, tu peux juste mettre son identifiant (ex: 386) et son pseudo ^^

    Cordialement, guillaume.
    merci pour ta rép
    donc si j'ai bien compris de met juste $login= $session['login'] ?

  5. #5
    Membre chevronné Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $login= $session['login'];

    Tu as bien compris par contre, c'est mal écrit ^^

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $_SESSION['login'] = $login; //pour stocker dans la session
    $login = $_SESSION['login']; //pour récupérer depuis la session

    Cordialement, Guillaume.

  6. #6
    Membre actif
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Par défaut
    merci je vais essayer de tester et si j'aurais des erreurs alors je reviens ^^

  7. #7
    Membre actif
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Par défaut
    voilà j'ai essayé et je trouve un ptit soucis c'est que lorsque je connecte il m'envoie toujours à la page login.php et pas acceuil.php

    je met le code

    login.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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>
     
    <body>
    <form id="form1" name="form1" method="post" action="verif.php">
      <table width="234" border="1">
        <tr>
          <td width="64">login</td>
          <td width="154"><label for="textfield"></label>
          <input type="text" name="textfield" id="textfield" /></td>
        </tr>
        <tr>
          <td>mot de passe</td>
          <td><label for="textfield2"></label>
          <input type="password" name="textfield2" id="textfield2" /></td>
        </tr>
      </table>
      <p>
        <input type="submit" name="button" id="button" value="envoyer" />
        <input type="reset" name="button2" id="button2" value="Reset" />
      </p>
    </form>
    </body>
    </html>
    verif.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
     
    <?php
    include ("connexion.php");
     
    connexion();
     
     
    if ((isset($_SESSION['login'])) && (!empty($_SESSION['login'])))
    	{
     
     
    session_start ();
     
    $_SESSION['login'] = $_POST['login'];
    $_SESSION['mdp'] = $_POST['mdp'];
     
     
     
    header ('location: acceuil.php');
    }
    else
    {
    	header ('location: login.php');
    }
     
     
     
     
    ?>
    et bien sur la page connexion.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    function connexion()
    {
    mysql_connect('localhost','root','') or die('serveur non disponible');
    mysql_select_db('session') or die('case non accessible');
    }
    la page acceuil.php contient juste <?php session_start() ?>

  8. #8
    Membre chevronné Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
      session_start ();
      include ("connexion.php");
      connexion();
      if ((isset($_SESSION['login'])) && (!empty($_SESSION['login']))){
        $_SESSION['login'] = $_POST['login'];
        $_SESSION['mdp'] = $_POST['mdp'];
        header ('location: acceuil.php');
      }else{
        header ('location: login.php');
      }
    ?>
    Tu dois mettre le session_start() avant de faire des tests sur les sessions

  9. #9
    Membre actif
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Par défaut
    ah oui je l'ai mis au milieu de la page

    j'ai essayer de la mettre en haut et c'est toujours pareil

  10. #10
    Membre chevronné Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
      session_start ();
      include ("connexion.php");
      connexion();
      if ((isset($_POST['textfield'])) && (!empty($_POST['textfield']))){
        $_SESSION['login'] = $_POST['textfield'];
        header ('location: acceuil.php');
      }else{
        header ('location: login.php');
      }
    ?>

  11. #11
    Membre actif
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Par défaut
    Citation Envoyé par radicaldreamer Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
      session_start ();
      include ("connexion.php");
      connexion();
      if ((isset($_POST['textfield'])) && (!empty($_POST['textfield']))){
        $_SESSION['login'] = $_POST['textfield'];
        header ('location: acceuil.php');
      }else{
        header ('location: login.php');
      }
    ?>
    Une autre connerie de ma part voilà j'ai renomé les textfield dans le form du connexion comme login et mdp
    toujours le même soucis Help pleese

  12. #12
    Membre actif
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Par défaut
    probléme resolu mais pas avec ce script

    j'ai fais une recherche et j'ai trouvé ce code là

    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
     
    <?php
    session_start();
    include ("connexion.php");
     
    connexion();
     
    $loginOK = false;  // cf Astuce
     
    // On n'effectue les traitement qu'à la condition que
    // les informations aient été effectivement postées
    if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['mdp'])) ) {
     
      extract($_POST);  // je vous renvoie à la doc de cette fonction
     
      // On va chercher le mot de passe afférent à ce login
      $sql = "SELECT login,mdp FROM user WHERE login = '".addslashes($login)."'";
      $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
     
      // On vérifie que l'utilisateur existe bien
      if (mysql_num_rows($req) > 0) {
         $data = mysql_fetch_assoc($req);
     
        // On vérifie que son mot de passe est correct
        if ($mdp == $data['mdp']) {
          $loginOK = true;
        }
      }
    }
     
    // Si le login a été validé on met les données en sessions
    if ($loginOK) {
      $_SESSION['login'] = $data['login'];
      $_SESSION['mdp'] = $data['mdp'];
      header ('location: acceuil.php');
    }
    else {
      header ('location: login.php');
    }
    ?>
    un autre problème : lorsque je tape http://127.0.0.1/session/acceuil.php le navigateur ne me dirige pas vers login.php mais il accède à cette page directement tandis que j'ai fais un déconnexion.

  13. #13
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    ba si tu affiche la valeur de ta variables de session ça fait quoi? et quand tu dis déconnexion, tu fait bien un session_destroy ou un unset ?
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  14. #14
    Membre actif
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Par défaut
    j'utilise dans la page de deconnexion ce code là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    // On démarre la session
    session_start ();
     
    // On détruit les variables de notre session
    session_unset ();
     
    // On détruit notre session
    session_destroy ();
     
    // On redirige le visiteur vers la page d'accueil
    header ('location: login.php');
    ?>
    je ne sais pas si il est correct

  15. #15
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 48
    Par défaut
    A quoi ressemble ta page accueil ? Comment tu teste si tu es connecté ou pas ?

    Sinon, petit conseil, plutôt que d'utiliser le login, stocke un id numérique dans ta session, et utilise des identifiants numériques pour manipuler tes données stockées en base de données. Tu peux avoir des problèmes de case et de caractères spéciaux en utilisant des login, ce qui peut mener à des bugs. Les problèmes peuvent être évités, mais le moyen le plus efficace reste a mon avis d'ajouter un champ 'id' dans tes tables, et d'utiliser le login uniquement pour l'utilisateur. Tout ce qui se passe coté manipulation de données se fait avec les id.
    Ça t'oblige à modifier légèrement ton fonctionnement au début, mais une fois que c'est mis en place, ça se fait tout seul et ça t'évite bien des problèmes

  16. #16
    Membre actif
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Par défaut
    merci pour l'info

    la page d'acceuil elle est vide elle contient ce code là:

    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
    <?php
    session_start();
    ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>
     
    <body>
    <p><center>vous êtes connecté </p>
    <p>&nbsp;</p>
    <form id="form1" name="form1" method="post" action="logout.php">
      <input type="submit" name="button" id="button" value="Se deconnecter" />
    </form>
     
    </body>
    </html>

    le probléme même si je redemare ma machine, d'où la session va se fermer automatiquement, et que je tape directement http....acceuil.php sa me dirige directement vers cette page et non vers login.php

Discussions similaires

  1. [Smarty] Pbm en ISO-8859-1 sur les pages incluses. Solution sans utiliser UTF8?
    Par Invité dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 24/06/2008, 20h44
  2. Variable de session dans toute les pages
    Par Interface dans le forum Langage
    Réponses: 3
    Dernier message: 03/10/2007, 13h02
  3. Utiliser les pages de propriétés
    Par soso78 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 05/06/2007, 14h41
  4. Utiliser les pages PHP avec XAMPP
    Par god_enel dans le forum Langage
    Réponses: 8
    Dernier message: 15/01/2007, 10h40
  5. utilisation des sessions dans les jsp
    Par casho dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 16/08/2006, 19h45

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