Salut à tous. je suis nauveau en programmation web. je programme un site web pour famille avec une base de données que j'ai crée à wampsever. j'ai également crée un espace membres où un membre se connecte seulemnt avec un code de famille comme mot de passe. Mon problème est le suivant:
Apres inscription d'un membre celui-ci se connecte apres redirection vers la page d'acceuil la session de ce dernière ne commence pas. C'est à la deuxième connexion que tout marche bien avec un message du genre " bienvenue MEMBRE 1" par exemple.
SVP je voudrais de l'aide en tant nauveau dans le forum et compte également sur votre bonne compréhension.
je vous presente ci-dessous les code php de la page d'inscription et le code de la page de connexion merci.


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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
 
    <!code php page inscription debut>
 
<form id="inscription" class="navbar-inner"    method="post" action="" style="text-align:center;" >
 
    <legend>S'inscrire sur le site</legend>
 
    <div class="form-group">
      <label class="col-lg-2 control-label">Nom:</label>
      <div class="col-lg-10">
        <input type="text" class="form-control" name="Pseudo" placeholder="Pseudo">
      </div>
    </div><br/>
    <div class="form-group" style="display:none">
      <label class="col-lg-2 control-label">Mot de pass:</label>
      <div class="col-lg-10">
        <input style="display:none" type="password" value='affamekak' class="form-control" name="MotDePasse" placeholder="password">
      </div>
    </div>
 
    <div class="form-group" style="display:none">
      <label class="col-lg-2 control-label">Confirmer le mot de passe</label>
      <div class="col-lg-10">
        <input type="password" style="display:none" value='affamekak' class="form-control" name="pass_confirm" placeholder="Mot de passe">
      </div>
    </div><br><br>
 
    <div class="form-group">
      <label class="col-lg-2 control-label">Email:</label>
      <div class="col-lg-10">
        <input type="email" class="form-control" name="Email" placeholder="email">
      </div>
    </div><br><br>
   <div class="form-group">
      <label class="col-lg-2 control-label">Pays :</label>
      <div class="col-lg-10">
        <input type="text" class="form-control" name="town" placeholder="pays">
      </div>
    </div>
 
    <br/><center><button type="submit" name="submit" class="btn btn-primary">S'Inscrire</button></center>
</form>
<div id="page_connexion" ><h4><a style='position:relative;left:1100px;top:350px; color:red;' href="page_connexion.php">Connectez vous ici</a></h4></div>
<?php
 
      //Connexion à la BDD
  try
  {
 
   $bdd = new PDO ('mysql:host=localhost;dbname=affa', 'root', '');
 
  }
 
  catch(Exception $e)
  {
   die('Erreur :'.$e->getMessage());
  }
 
       // on teste si le visiteur a soumis le formulaire
       if (isset($_POST['submit'])) 
      {
 
  // on teste l'existence de nos variables. On teste également si elles ne sont pas vides
  if ((isset($_POST['Pseudo']) && !empty($_POST['Pseudo'])) && (isset($_POST['MotDePasse']) && !empty($_POST['MotDePasse'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm'])) && (isset($_POST['Email']) &&  !empty($_POST['Email'])) && (isset($_POST['town']) &&  !empty($_POST['town']))) 
  {
 
    // on teste les deux mots de passe
    if ($_POST['MotDePasse'] != $_POST['pass_confirm']) 
    {
 
 
 
      ?>  
        <div style="
        border-radius: 20px;
        background-color:rgb();
        position:absolute;top:10px;left: 390px;
        margin: 1px;
        padding-top: 50px;
        text-align: center;
        color: red;
        font:bold 1em Georgia, Times, serif;
        }"><?php
          echo '<div class="alert alert-dismissable alert-danger">
          <button type="button" class="close" data-dismiss="alert">x</button>
           Les deux mots de passe sont différents. veuillez les vérifier merci!
          </div>';?>
        </div>
      <?php  
 
    }
 
    else 
    {
      $bdd = new PDO('mysql:host=localhost;dbname=affa', 'root', '');
 
      // on recherche si ce login est déjà utilisé par un autre membre
    $req = $bdd->query('SELECT id FROM membres WHERE Pseudo="' . $_POST['Pseudo'] . '"');
      $reponse = $req->fetch();
 
      if (!$reponse) 
      {
 
        $req2 = $bdd->query('SELECT id FROM membres WHERE Email = "'.$_POST['Email'].'"');
        $reponse2 = $req2->fetch();
 
        if (!$reponse2)
        {
          $in = $bdd->prepare('INSERT INTO membres(Pseudo, MotDePasse, Email, Pays, DateInscription) VALUES(:Pseudo, :MotDePasse, :Email, :pays,CURDATE())');
          $in->execute(array(
            'Pseudo' => $_POST['Pseudo'],
            'MotDePasse' => sha1($_POST['MotDePasse']),
            'Email' => $_POST['Email'],
            'pays' => $_POST['town']));
 
 
 
           ?>  
       <div style="
        border-radius: 20px;
        background-color:rgb();
        position:absolute;top:10px;left: 300px;
        margin: 1px;
        padding-top: 50px;
        text-align: center;
        color: red;
        font:bold 1em Georgia, Times, serif;
        }"><?php
 
          echo '<div class="alert alert-dismissable alert-success">
          <button type="button" class="close" data-dismiss="alert">x</button>
          <strong>Yes !</strong>
           <strong> Inscription réussit ! Veuillez vous connecter au site Merci, Redirection dans 5 secondes ! <meta http-equiv="refresh" content="5; URL=page_connexion.php">
          </div>';?>
        </div>
      <?php  
 
 
 
 
 
 
        }
 
        else 
        {
 
          ?>  
         <div style="
        border-radius: 20px;
        background-color:rgb();
        position:absolute;top:10px;left: 520px;
        margin: 1px;
        padding-top: 50px;
        text-align: center;
        color: red;
        font:bold 1em Georgia, Times, serif;
        }"><?php
          echo '<div class="alert alert-dismissable alert-danger">
          <button type="button" class="close" data-dismiss="alert">x</button>
           Cette adresse mail est déjà utilisée.
          </div>';?>
        </div>
      <?php  
 
        }
      }
 
      else 
      {
 
      ?>  
         <div style="
        border-radius: 20px;
        background-color:rgb();
        position:absolute;top:10px;left: 520px;
        margin: 1px;
        padding-top: 50px;
        text-align: center;
        color: red;
        font:bold 1em Georgia, Times, serif;
        }"><?php
          echo '<div class="alert alert-dismissable alert-danger">
          <button type="button" class="close" data-dismiss="alert">x</button>
           Ce pseudo est déjà utilisé
          </div>';?>
        </div>
      <?php  
      }
 
    }
  }
 
  else 
  {
 
 
   ?>  
       <div style="
        border-radius: 20px;
        background-color:rgb();
        position:absolute;top:10px;left: 520px;
        margin: 1px;
        padding-top: 50px;
        text-align: center;
        color: red;
        font:bold 1em Georgia, Times, serif;
        }"><?php
          echo '<div class="alert alert-dismissable alert-danger">
          <button type="button" class="close" data-dismiss="alert">x</button>
           Formulaire incomplet.
          </div>';?>
        </div>
      <?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
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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
 
  <?php
    //Connexion à la BDD
  try
  {
 
   $bdd = new PDO ('mysql:host=localhost;dbname=affa', 'root', '');
 
  }
 
  catch(Exception $e)
  {
   die('Erreur :'.$e->getMessage());
  }
 
    if (isset($_POST['actif']))
    {
 
      if ((isset($_POST['Pseudo']) && !empty($_POST['Pseudo'])) && (isset($_POST['password']) && !empty($_POST['password'])))
      {
 
      $Pseudo = htmlentities(trim($_POST['Pseudo']));
      $mdp = htmlentities(trim($_POST['password']));
 
 
      if ($Pseudo && $mdp)
      {
 
        // Hachage du mot de passe
        $mdp = sha1($_POST['password']);
 
        // Vérification des identifiants
 
 
 
        $req = $bdd->prepare('SELECT id FROM membres WHERE Pseudo = :Pseudo AND MotDePasse = :mdp');
        $req->execute(array(
          'Pseudo' => $Pseudo,
          'mdp' => $mdp));
 
        $resultat = $req->fetch();
 
        if (!$resultat)
        {
 
           ?>  
       <div style="
        border-radius: 20px;
        background-color:rgb();
        position:absolute;top:5px;left: 270px;
        margin: 1px;
        padding-top: 50px;
        text-align: center;
        color: red;
        font:bold 1em Georgia, Times, serif;
        }"><?php
          echo '<div class="alert alert-dismissable alert-danger">
          <button type="button" class="close" data-dismiss="alert">x</button>
           <strong>Oh Non !</strong> Mauvais login / password. Merci de recommencer ! ou bien <a href ="connexion.php"> inscrivez vous merci.</a>
          </div>';?>
        </div>
      <?php  
 
        }
        else
        { 
    // ici vous pouvez afficher un lien pour renvoyer
    // vers la page d'accueil de votre espace membres 
 
          session_start();
          $_SESSION['id'] = $resultat['id'];
          $_SESSION['Pseudo'] = $Pseudo;
 
 
 
 
 
 
            ?>  
       <div style="
        border-radius: 20px;
        background-color:rgb();
        position:absolute;top:10px;left: 400px;
        margin: 1px;
        padding-top: 50px;
        text-align: center;
        color: red;
        font:bold 1em Georgia, Times, serif;
        }"><?php
 
          echo '<div class="alert alert-dismissable alert-success">
          <button type="button" class="close" data-dismiss="alert">x</button>
           <strong>Yes !</strong> Vous êtes bien logué, Redirection dans 5 secondes ! <meta http-equiv="refresh" content="5; URL=acceuil_affa.php">
          </div>';?>
        </div>
 
 
 
      <?php  
 
        } 
 
        }
 
      }
      else{
 
 
            ?>  
       <div style="
        border-radius: 20px;
        background-color:rgb();
        position:absolute;top:10px;left: 430px;
        margin: 1px;
        padding-top: 50px;
        text-align: center;
        color: red;
        font:bold 1em Georgia, Times, serif;
        }"><?php
 
          echo '<div class="alert alert-dismissable alert-danger">
          <button type="button" class="close" data-dismiss="alert">x</button>
          Veuillez remplir tous les champs de saisie merci !
          </div>';?>
        </div>
      <?php  
 
        }
    }
 
  ?>
 
 
<div style ="
 
  border-radius: 20px;
  width: 500px;
  height: 500px;
  position:absolute; left: 300px;
  font:bold 1em Georgia, Times, serif;
  margin-left: 90px;
  padding-top: 10px;
  top:100px;
 background-color:white;
 
 
 
">
<form  style ="text-align: center;" method="post" action="">
 
    <legend>Connexion au Panel</legend>
 
    <div class="form-group">
      <label class="col-lg-2 control-label">Nom</label>
      <div class="col-lg-10">
        <input type="text" class="form-control" name="Pseudo" placeholder="Pseudo">
      </div>
    </div><br/><br/><br/>
 
    <div class="form-group">
      <label class="col-lg-2 control-label">Mot de passe :</label>
      <div class="col-lg-10">
        <input type="password" class="form-control" name="password" placeholder="Mot de passe">
      </div>
    </div>
 
<br/><br/><center><button type="submit" name="actif" class="btn btn-primary">Connexion</button></center>
</form>
</div>