Bonsoir. Je fais en ce moment un petit projet de connexion et d'inscription à une base de données. Je vous explique, j'ai une base de données sous MySQL appelé "projetetude" ou il y a deux tables "formateur" et "utilisateur".
Dans la table "formateur", il n'y a rien encore mais par contre dans la table "utilisateur" il y a deux colonnes : "email" et "motpasse". Et dans cette table il y a un enregistrement que voici : pour l'email c'est : "admin@gmail.com" et le motpasse c'est : "test".
L'objectif c'est qu'avec ces deux identifiants je puisse basculer sur un back-office en cliquant sur le bouton "Envoyer". Voici vueconnexion.php, la vue de connexion fait avec Foundation le framework d'interface :Il y aussi le modèle me permettant de me connecter à ma base appelé accesbase.php situé dans le répertoire "modele" :
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_once "controller/utilisateurConnexion.php"; ?> <!DOCTYPE html> <html> <meta charset="UTF-8"> <head> <title>Mes formulaires d'étude</title> <link rel="stylesheet" href="style/css/foundation.min.css"> <link rel="stylesheet" href="style/css/foundation.css"> <link rel="stylesheet" href="style/css/app.css"> <script src="js/vendor/foundation.js"></script> <script src="js/vendor/foundation.min.js"></script> <script src="js/vendor/jquery.js"></script> <script src="js/vendor/what-input.js"></script> </head> <body> <h1>Mon formulaire de connexion d'étude</h1> <form action="controller/utilisateurConnexion.php" method="POST"> <label for="email"> <p>Email <input id="email" type="email" placeholder="email@email.com"/> </label></p> <label for="motpasse"> <p>Mot de passe <input id="motpasse" type="password"/> </label></p> <a button type="submit" class="button large-1" name ="Envoyer"/>Envoyer</a> </form> <a href="vueinscription.php" class="button large-1 hollow" input type="submit"/>Pas inscrit, inscrivez-vous</a> <a href="vueoubli.php" class="button large-2 hollow" input type="submit"/>Identifiant oublié</a> </body> </html>
Et voici le petit fichier controlleur appelé utlisateurConnexion.php qui fait le traitement, il est situé dans le répertoire "controller":
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 <?php class accesbase { function connexion() { $pdo = null; try { $pdo = new pdo ('mysql:host=127.0.0.1;dbname=projetetude', 'root', '', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET_NAMES_utf8")); } catch (PDOException $err) { $messageErreur = $err->getMessage(); error_log($messageErreur, 0); } return $pdo; } function uConnexion($email, $motpasse) { $pdo = $this->connexion(); if ($pdo != false) { $sql = "SELECT * FROM utilisateur" . "where email=:email and motpasse=:motpasse"; $prep = $pdo->prepare($sql); $prep = bindParam(":email", $email, PDO::PARAM_STR); $prep = bindParam(":motpasse", $motpasse, PDO::PARAM_STR); $prep = $pdo->execute(); $resultat = $prep->fetch(); if ($prep->rowCount() == 1) { $prep->closeCursor(); return $resultat; } $prep->closeCursor(); } return null; } function uNouveau($email, $motpasse) { $pdo = $this->connexion(); if ($pdo == null) { return false; } $register = $pdo->prepare('INSERT INTO utilisateur(email,motpasse)VALUES (:email,:motpasse)'); $register->bindValue(':email', $email, PDO::PARAM_STR); $register->bindValue(':motpasse', $motpasse, PDO::PARAM_STR); return ($register->execute()); } } ; ?>
Le but c'est qu'en entrant dans le champ email l'émail "admin@admin.com" et dans le champ mot de passe "test" et cliquant sur le bouton "envoyer", je puisse basculer sur la vueSIO.php. Or pour l'instant, cela ne marche pas. J'attends votre contribution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php include_once 'modele/accesbase.php'; $db = new accesbase(); $pdo = $db->connexion(); if($pdo!=false) { header('location:vueSIO.php'); } else { //header('location:vueconnexionerrone.php'); } ?>
Partager