bonjour j'ai entraine de créer un espace membre , donc il y a trois objectif a faire
le premier: faire une page pour inscription et créer une table dans la base de donnée
2e : une page pour connexion et vérifier les pseudo est ce que déjà enregistré dans la table .
3e: une page pour déconnexion
j'ai déjà fait la page d'inscription et connexion , mais il fonctionne pas , tous les entrées que j'ai met pour l'inscription qui n'a pas enregistre dans la table ... je ne trouves pas la raison de dysfonctionnement ... j'ai besoin de votre aides ... svp ...
voici le fichier inscription.php
voici inscription_post.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 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>inscription</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <div class="inscription"> <h1>Créer un compte</h1> <form method="post" action="inscription_post.php"> <p> <h3>Mes coordonnées</h3> <input type="radio" name="sexe" value="monsieur" id="monsieur" /> <label for="monsieur">Monsieur</label> <input type="radio" name="sexe" value="madame" id="madame" /> <label for="madame">Madame</label> <br /> <label for="pseudo">Pseudo:</label> <input type="text" name="pseudo" id="pseudo" /> <br /> <label for="pass">Mot de passe:</label> <input type="password" name="pass" id="pass" /> <br /> <label for="pass_verif">Retapez votre mot de passe:</label> <input type="password" name="pass_verif" id="pass_verif"> <br /> <label for="email">E-mail:</label> <input type="email" name="email"> <br /> <input type="submit" name="valider" value="Créer mon compte"> </p> </form> </body> </html>
voici le fichier connexion.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 <?php try { $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8','root','root',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING)); } catch(PDOException $e) { echo 'Erreur :' .$e->getMessage(); } if (isset($_POST['pseudo']) && isset($_POST['pass']) && isset($_POST['pass_verif']) && isset($_POST['email'])) { //verification de mot de passe if ($_POST['pass'] == $_POST['pass_verif']) { $pass_hache = password_hash($_POST['pass'],PASSWORD_DEFAULT); $req = $bdd->prepare('SELECT COUNT(*) FROM membres WHERE pseudo=:pseudo'); $req->execute(array(':pseudo' => $_POST['pseudo'])); $res = $req->fetch(); if ($res[0] == 0) //ce pseudo est libre { $req = $bdd->prepare('SELECT COUNT(*) FROM membres WHERE email = :email'); $req->execute(array(':email' => $_POST['email'])); $res = $req->fetch(); if ($res[0] == 0) // cet email est libre { $req = $bdd->prepare('INSERT INTO membres(pseudo,pass,email,date_inscription) VALUES(:pseudo,:pass,:email,CURDATE())'); $req->execute(array( 'pseudo' => $_POST['pseudo'], 'pass' => $_POST['pass'], 'email' => $_POST['email'])); header('Location :connexion.php'); exit(); } else { echo 'L\'email' .$_POST['email']. 'deja existe'; } } else { echo 'Pseudo' .$_POST['pseudo']. 'indisponible'; } } else { echo 'les mots de passes ne sont pas identique'; } } ?>
et connexion_post.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 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>connexion</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <div class="connexion"> <form method="post" action="connexion_post.php"> <p> <h3>Veuillez connecter votre compte</h3> <label for="pseudo">Pseudo</label> <input type="text" name="pseudo" id="pseudo"> <br /> <label for="pass">Mot de passe</label> <input type="password" name="pass" id="pass"> <br /> <label for="connexion_auto">connexion automatique</label> <input type="checkbox" name="connexion_auto" id="connexion_auto"> <br /> <input type="submit" value="Se connecter" > </p> </form> </div> </body> </html>
et la structure de la table membres
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 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>connexion</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <div class="connexion"> <form method="post" action="connexion_post.php"> <p> <h3>Veuillez connecter votre compte</h3> <label for="pseudo">Pseudo</label> <input type="text" name="pseudo" id="pseudo"> <br /> <label for="pass">Mot de passe</label> <input type="password" name="pass" id="pass"> <br /> <label for="connexion_auto">connexion automatique</label> <input type="checkbox" name="connexion_auto" id="connexion_auto"> <br /> <input type="submit" value="Se connecter" > </p> </form> </div> </body> </html>
et style.css si vous l'avez besoin
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 -- phpMyAdmin SQL Dump -- version 4.8.3 -- https://www.phpmyadmin.net/ -- -- Hôte : localhost:8889 -- Généré le : ven. 23 nov. 2018 à 18:58 -- Version du serveur : 5.7.23 -- Version de PHP : 7.2.8 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; -- -- Base de données : `test` -- -- -------------------------------------------------------- -- -- Structure de la table `membres` -- CREATE TABLE `membres` ( `ID` int(11) NOT NULL, `pseudo` varchar(255) NOT NULL, `pass` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `date_inscription` date NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Index pour les tables déchargées -- -- -- Index pour la table `membres` -- ALTER TABLE `membres` ADD PRIMARY KEY (`ID`); -- -- AUTO_INCREMENT pour les tables déchargées -- -- -- AUTO_INCREMENT pour la table `membres` -- ALTER TABLE `membres` MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT;
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 body { background-color: #001a33; } .inscription { display: block; position:relative; left:30%; text-align: center; color:navy; margin-top: 5%; height: 40%; width: 40%; background-color: #ff9900; border-radius: 5px; } label { padding: 12px 12px 12px 0; display: inline-block; width: 20%; } input[type=ratio] { } input[type=text],[type=password],[type=email] { width: 30%; padding: 12px 20px; margin: 8px 0; border:2px solid navy; border-radius: 4px; } input[type=submit] { background-color: navy; color: white; font-family: "Times New Roman",Times,serif; font-size: 0.8em; border:none; padding: 16px 32px; margin: 4px 2px; text-decoration: none; border-radius: 4px; cursor: pointer; } /* la page connexion */ .connexion { display: block; position:relative; left:30%; text-align: center; color:navy; margin-top: 5%; height: 40%; width: 40%; background-color: #ff9900; border-radius: 5px; }
Partager