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 :

probleme de sessions


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Points : 4
    Points
    4
    Par défaut probleme de sessions
    bonjour je débute en php et j'ai crée un espace membre a l'aide de tuto ! voila ma question comment crée des sessions ? je vous passe mon code de la page connection
    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
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    <!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="fr" >
       <head>
           <title>Connection</title>
           <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    	   <link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
       </head>
       <body>
        <div id="en_tete">
         <!-- Ici on mettra la bannière -->
        </div>
     
        <div id="menu">
     
        <div class="element_menu">
         <?php // Enregistrons les informations de date dans des variables
          $jour = date('d');
          $mois = date('m');
          $annee = date('Y');
     
          $heure = date('H');
          $minute = date('i'); // Maintenant on peut afficher ce qu'on a recueilli
          echo 'Bonjour ! Nous sommes le ' . $jour . '/' . $mois . '/' . $annee . 'et il est ' . $heure. ' h ' . $minute;
         ?>
     
        </div>
     
        <div class="element_menu">
           <h3></h3>
           <ul>
               <li><a href="index.php">Acceuil</a></li>
               <li><a href="inscri.php">Inscription</a></li>
               <li><a href="liens.php">Liens</a></li>
           </ul>
        </div>
     
        </div>
     
    	<?php
     
    // Redirige l'utilisateur s'il est déjà identifié
    if(isset($_COOKIE["ID"]))
    {
         header("Location: index.php");
    }
    else
    {
     
         // Formulaire visible par défaut
         $masquer_formulaire = false;
     
         // Une fois le formulaire envoyé
         if(isset($_POST["BT_Envoyer"]))
         {
     
              // Vérification de la validité des champs
              if(!mb_ereg("^[A-Za-z0-9_]{4,20}$", $_POST["TB_Pseudo"]))
              {
                   $message = "Votre pseudo doit comporter entre 4 et 20 caractères<br />\n";
                   $message .= "L'utilisation de l'underscore est autorisée";
              }
              elseif(!mb_ereg("^[A-Za-z0-9]{6,}$", $_POST["TB_Pass"]))
              {
                   $message = "Votre mot de passe doit comporter au moins 6 caractères";
              }
              else
              {
     
                   // Connexion à la base de données
                   // Valeurs à modifier selon vos paramètres configuration
                   mysql_connect("localhost", "root", "");
                   mysql_select_db("siteaimemoi");
     
                   // Sélection de l'utilisateur concerné
                   $result = mysql_query("
                        SELECT ID, Pseudo, Pass, Compte_Active
                        FROM membres
                        WHERE Pseudo = '" . $_POST["TB_Pseudo"] . "'
                   ");
     
                   // Si une erreur survient
                   if(!$result)
                   {
                        $message = "Une erreur est survenue lors de la tentative de connexion";
                   }
                   else
                   {
     
                        // Si aucun utilisateur n'a été trouvé
                        if(mysql_num_rows($result) == 0)
                        {
                             $message = "Le pseudo" . $_POST["TB_Pseudo"] . " n'existe pas";
                        }
                        else
                        {
     
                             // Récupération des données
                             $row = mysql_fetch_array($result);
     
                             // Si le compte n'a pas été activé
                             if($row["Compte_Active"] == 0)
                             {
                                  $message = "Votre compte n'a pas été activé";
                             }
                             else
                             {
     
                                  // Vérification du mot de passe
                                  if(md5($_POST["TB_Pass"]) != $row["pass"])
                                  {
                                       $message = "Votre mot de passe est incorrect";
                                  }
                                  else
                                  {
     
                                       // Définition du temps d'expiration des cookies
                                       $expiration =
                                            empty($_POST["CB_Connexion_Automatique"]) ? 0 : time() + 90 * 24 * 60 * 60;
     
                                       // Création des cookies
                                       setcookie("ID", $row["ID"], $expiration, "/");
                                       setcookie("Pseudo", $row["Pseudo"], $expiration, "/");
     
                                       // Fermeture de la connexion à la base de données
                                       mysql_close();
     
                                       // Redirection de l'utilisateur
                                       header("Location: membre.php");
     
                                  }
     
                             }
     
                        }
     
                   }
     
                   // Fermeture de la connexion à la base de données
                   mysql_close();
     
              }
     
         }
     
    }
     
    ?>
    quelqu'un pourrais il m'aider svp ?

  2. #2
    Membre averti Avatar de diallomad
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Mali

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 164
    Points : 364
    Points
    364
    Par défaut
    Citation Envoyé par xxxcite Voir le message
    voila ma question comment crée des sessions ?
    Il y a trois tutos rien que pour les sessions sur developpez.com, c'est pas un long chapitre, mais c'est hyper important.
    http://php.developpez.com/cours/?page=securite#sessions
    Bonne continuation !
    Le chemin de la réussite n'a jamais été une courbe stable tant qu'on respire dans les mêmes fautes sans fin.
    Thomas Sankara

  3. #3
    Expert éminent
    Avatar de kdmbella
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2010
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2010
    Messages : 799
    Points : 7 039
    Points
    7 039
    Par défaut
    tu peux aussi regarder la documentation de php
    pour avoir une description plus détaillées des ffonctions du tuto
    http://www.php.net/manual/fr/book.session.php
    "L'humanité se divise en trois catégories : ceux qui ne peuvent pas bouger, ceux qui peuvent bouger, et ceux qui bougent."
    - Benjamin Franklin

    De l'aide en Javascript , consultez la FAQ JS.

    De l'aide sur le FrameWork JS DHTMLX : posez vos questions sur le forum des Bibliothèques & Frameworks JS.

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Pour info au passage, tu peux déclarer une ouverture de session comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!session_id()) session_start();
    Cela évite des conflits si tu inclus des scripts qui eux mêmes déclarent des ouvertures de session.

Discussions similaires

  1. Probleme de sessions avec un hébergeur
    Par totoranky dans le forum Langage
    Réponses: 3
    Dernier message: 20/10/2005, 02h36
  2. [Sécurité] Probleme de sessions
    Par perco dans le forum Langage
    Réponses: 4
    Dernier message: 05/10/2005, 11h04
  3. [VB.Net] Problème de Session
    Par theartist dans le forum ASP.NET
    Réponses: 7
    Dernier message: 09/09/2004, 16h06
  4. Problème de session sous Konqueror
    Par Escuzze dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 06/07/2004, 11h52
  5. [C#] Probleme de session
    Par alexischmit dans le forum ASP.NET
    Réponses: 2
    Dernier message: 26/04/2004, 16h33

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