-
Notifications
You must be signed in to change notification settings - Fork 0
/
connexion.php
160 lines (130 loc) · 6.04 KB
/
connexion.php
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
<?php
include("header2.php");
// Verification si l'utilisateur est deja loggé,
// Si oui, redirection vers la page d'accueil
if (isset($_SESSION["loggedin"]) && $_SESSION["loggedin"] === true) {
header("location: index.php");
exit;
}
// Création d'une variable de session "achat" permettant de renvoyer l'utilisateur vers la page de commande
if (isset($_GET['achat']) && !empty($_GET['achat'])) {
$_SESSION["achat"] = 1;
}
// Création d'une variable de session "commentaire" permettant de renvoyer vers la page "livre.php"
if (isset($_GET['commentaire']) && !empty($_GET['commentaire'])) {
$_SESSION["commentaire"] = 1;
}
// Inclusion du fichier config.php
require_once "config.php";
// Je définis les variables et les initialisent avec des valeurs vides
$identite = $password = "";
$id_err = $password_err = "";
// Execution du formulaire
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Validation du nom d'utilisateur
if (empty(trim($_POST["identifiant"]))) {
$id_err = "Veuillez entrer votre identifiant.";
} else {
$identite = trim($_POST["identifiant"]);
}
// Verification si le mdp est vide
if (empty(trim($_POST["mdp"]))) {
$password_err = "Veuillez entrer votre mot de passe.";
} else {
$password = trim($_POST["mdp"]);
}
// Validation des identifiants
if (empty($id_err) && empty($password_err)) {
// Preparation de la requete SELECT
$sql = "SELECT id, identifiant, password, admin, prenom, nom FROM users WHERE identifiant = :identifiant";
if ($stmt = $pdo->prepare($sql)) {
// Liaison des variables à la requete comme parametres
$stmt->bindParam(":identifiant", $param_id, PDO::PARAM_STR);
// Set des parametres
$param_id = trim($_POST["identifiant"]);
// Tentative d'execution de la requete préparée
if ($stmt->execute()) {
// Verification si le mdp existe, si oui verification du mdp
if ($stmt->rowCount() == 1) {
if ($row = $stmt->fetch()) { // récupérer le nom des label dans la table users de la BDD
$id = $row["id"];
$identite = $row["identifiant"];
$hashed_mdp = $row["password"];
$droit_admin = $row["admin"];
$nom_client = $row["nom"];
$prenom_client = $row["prenom"];
if (password_verify($password, $hashed_mdp)) {
// Enregistrement des données dans les variables de sessions
$_SESSION["loggedin"] = true;
$_SESSION["id"] = $id;
$_SESSION["identifiant"] = $identite;
$_SESSION["admin"] = $droit_admin;
$_SESSION["nom"] = $nom_client;
$_SESSION["prenom"] = $prenom_client;
// Redirection vers la page de login ou de commande
if (isset($_SESSION['achat'])) {
unset($_SESSION['achat']); // destruction de la variable de session "achat"
header("location: produitachat.php");
} else if (isset($_SESSION['commentaire'])) {
unset($_SESSION['commentaire']); // destruction de la variable de session "commentaire"
header("location: livre.php");
} else {
header("location: index.php");
}
} else {
// Affichage d'une message d'erreur si le MDP n'est pas valide
$password_err = "Le mot de passe que vous avez entré n'est pas valide";
}
}
} else {
// Display an error message if identifiant doesn't exist
$id_err = "Aucun compte trouvé avec cet identifiant.";
}
} else {
echo "Une erreur est survenue. Veuillez recommencer.";
}
}
// Close statement
unset($stmt);
}
// Close connection
unset($pdo);
}
?>
<div class="ligne"></div>
<div class="site-section"></div>
<div class="container">
<div class="row">
<div class="col-md-7 col-lg-7 mb-4">
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<h2>Se connecter
<small>sur Made in World</small>
</h2>
<div class="form-group <?php echo (!empty($id_err)) ? 'has-error' : ''; ?>">
<input type="text" name="identifiant" id="identifiant" class="form-control input-lg"
placeholder="Identifiant" tabindex="1" value="<?php echo $identite; ?>">
<span class="help-block"><?php echo $id_err; ?></span>
</div>
<div class="form-group <?php echo (!empty($password_err)) ? 'has-error' : ''; ?>">
<input type="password" name="mdp" id="mdp" class="form-control input-lg" placeholder="Mot de passe"
tabindex="2">
<span class="help-block"><?php echo $password_err; ?>
</div>
<div class="row">
<div class="col-xs-12 col-md-6"><input type="submit" value="Connexion"
class="boutonprod3" tabindex="3"></div>
</div>
<br/>
<p><a href="requetemdp.php">Mot de passe oublié ?</a></p>
</form>
</div>
<div class="col-lg-4">
<h2>Pas encore inscrit sur <b>Made in World</b> ?</h2><br/>
<div ><a href="inscription.php" class="boutonprod3" tabindex="8">S'inscrire</a>
</div>
</div>
</div>
</div>
<?php
include("footer.php");
?>