Bonjour à tous !
Excusez-moi mais j'espère ne pas me tromper de forum.
Je fais actuellement un site qui necessite une connexion à un espace membre. Dons j'ai essayé de faire une ouverture et fermeture de session avec login et mot de passe. Malheureusement mon code ne marche pas je ne sais pourquoi. Quand je l'éxécute, je n'ai aucun message. rien du tout. Aidez-moi s'il vous plaît !
Voici mon code :
1ère page : inscription.php
2ème page : index.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 <?php //on teste si le visiteur a soumis le formulaire if(isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') { // on teste l'existence des variables et on teste si elles ne sont pas vides if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) { // on teste les deux mots de passe if ($_POST['pass'] != $_POST['pass_confirm']) { $erreur = 'Les deux mots de passe ne sont pas identiques.'; } else { $base = mysql_connect('localhost','root',''); mysql_select_db('serveur', $base); // on recherche si ce login est déjà utilisé par un autre membre $sql = 'select count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"'; $req = mysql_query($sql) or die ('Erreur SQL! <br/>'.$sql.'<br/>'.mysql_error ()); $data = mysql_fetch_array($req); if ($data[0] == 0) { $sql = 'INSERT INTO membre VALUES("","'.mysql_escape_string($_POST['login']).'"","'.md5(mysql_escape_string($_POST['pass'])).'")'; mysql_query($sql) or die ('Erreur SQL!'.$sql.'<br/>'.mysql_error()); session_start(); $_SESSION['login'] = $_POST['login']; header ('location: membre.php'); exit(); } else { $erreur = 'Un membre possède déjà ce login.'; } } } else { $erreur = 'Au moins un des champs est vide.'; } } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Inscription</title> </head> <body> Inscription à l'espace membre : <br/> <form action="inscription.php" method="post"> login : <input type="text" name="login" value="<?php if(isset($_POST['login'])) echo htmlentities(trim( $_POST['login'])); ?>"><br/> mot de passe : <input type="password" name="pass" value="<?php if(isset($_POST['pass'])) echo htmlentities(trim( $_POST['pass'])); ?>"><br/> confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if(isset($_POST['pass_confirm'])) echo htmlentities(trim( $_POST['pass_confirm'])); ?>"><br/> <input type="submit" name="inscription" value="inscription"> </form> <?php if(isset($erreur)) echo'<br/>', $erreur; ?> </body> </html>
3ème page : membre.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 <?php //on teste si le visiteur a soumis le formulaire de connexion if(isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { if (isset($_POST['login']) && !empty($_POST['login']) && (isset($_POST['pass']) && !empty($_POST['pass']))) { $base = mysql_connect('localhost','root',''); mysql_select_db('serveur', $base); // on recherche si une entrée de la base contient ce couple login/pass $sql = 'select count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5 = '.md5(mysql_escape_string($_POST['pass'])).'""'; $req = mysql_query($sql) or die ('Erreur SQL! <br/>'.$sql.'<br/>'.mysql_error ()); $data = mysql_fetch_array($req); mysql_free_result($req); mysql_close(); // si on obtient une réponse, alors l'utilisateur est un membre if ($data[0] == 1) { session_start(); $_SESSION['login'] = $_POST['login']; header ('location: membre.php'); exit(); } //si on ne trouve aucune reponse, le visiteur s'est trompé soit dans son login soit dans son mot de passe elseif ($data[0] == 0) { $erreur = 'Compte non valide. Réessayez!'; } // Sinon, alors il y a un gro problème else { $erreur = 'Problème dans la base de données : plusieurs champs ont le mm identifiants de connexion.'; } } else { $erreur = 'Au moins un des champs est vide !'; } } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Accueil</title> </head> <body> Connexion à l'espace membre : <br/> <form action="index.php" method="post"> login : <input type="text" name="login" value="<?php if(isset($_POST['login'])) echo htmlentities(trim( $_POST['login'])); ?>"><br/> mot de passe : <input type="password" name="pass" value="<?php if(isset($_POST['pass'])) echo htmlentities(trim( $_POST['pass'])); ?>"><br/> <input type="submit" name="Connexion" value="Connexion"> </form> <a href="inscription.php">Vous inscrire</a> <?php if(isset($erreur)) echo'<br/><br/>', $erreur; ?> </body> </html>
4 ème page : deconnexion.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 <?php session_start(); if(!isset($_SESSION['login'])) { header ('location: index.php'); exit(); } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Espace membre</title> </head> <body> Bienvenue <?php echo htmlentities(trim($_SESSION['login']));?>!<br/> <a href="deconnexion.php">Déconnexion</a> </body> </html>
Merci de votre compréhension
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?php session_start(); session_unset(); session_destroy(); header ('location: index.php'); exit(); ?>
Partager