Bonjour, je suit actuellement en train de faire un site PHP en utilisant la POO ainsi que l'architecture MVC. Je pense que j'ai pas compris quelque chose car lors de la connexion au site. Quand les identifiants ne sont pas correcte, tout fonctionne correctement mais quand les identifiants sont bon il y a trop de redirection et donc Chrome me renvoie une erreur : 127.0.0.1 vous a redirigé à de trop nombreuses reprises.

Voici une partie de mon 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
session_start();
$_SESSION['estAdmin'] = 0;
*
//Tentative de connexion à la base de données
try
{
****$db = new PDO('mysql:host=localhost;dbname=William', 'root', '');
****$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
}
catch (Exception $e)
{
****return 'Connexion à la base de données impossible';
}
*
require('controleur/controleur.php');
*
if(isset($_GET['admin']))
{
****if($_SESSION['estAdmin'] == 1)
****{
********if(isset($_GET['page']))
********{
************echo $_GET["page"];
************switch ($_GET['page'])
************{
****************case 'accueil':
********************afficheAccueilAdmin();
********************break;
****************case 'realisation':
********************afficheRealisationAdmin();
********************break;
****************case 'prestation':
********************affichePrestationAdmin();
********************break;
****************case 'annonce':
********************afficheAnnonceAdmin();
********************break;
****************case 'avis':
********************afficheAvisAdmin();
********************break;
****************default:
********************afficheAccueilAdmin();
********************break;
************}
********}
********else
********{
************afficheAccueilAdmin();
********}
****}
****else
****{
********if(isset($_POST["login"]) && isset($_POST["mdp"]))
********{
************$_SESSION["login"] = $_POST["login"];
************$_SESSION["mdp"] = $_POST["mdp"];
********}
********afficheConnexionAdmin($db);
****}
}
Voici une partie de mon controleur

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
function afficheConnexionAdmin($db)
{
****$manager = new UtilisateurManager($db);
****$utilisateur = $manager->getIdentifiants();
*
****require 'vues/connexionAdmin.php';
}
Et voici ma vue



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
<body class="bodyAdmin">
*
********<img id="Logo" class="LogoWilliam" src="vues/images/logo.png" onclick="FrmVisib()" />
********<?php
************if(isset($_SESSION["login"]) && isset($_SESSION["mdp"]))
************{
****************if(!empty($_SESSION["login"]) && !empty($_SESSION["mdp"]))
****************{
********************$login = htmlspecialchars($_SESSION["login"]);
********************$mdp = hash("sha256", $_SESSION["mdp"]);
*
********************if($login == $utilisateur->getUtilisateur_Login() && $mdp == $utilisateur->getUtilisateur_Password())
********************{
************************$_SESSION['estAdmin'] = 1;
************************header("Location: Index.php?admin&action=accueil");
********************}
********************else
********************{
************************$erreur = 'Login ou mot de passe incorrect !';
********************}
****************}
****************else
****************{
********************$erreur = 'Veuillez remplir tous les champs !';
****************}
************}
********?>
********<section Id="FrmConnect" style="visibility: hidden;">
************<center>
****************<br/>
****************<div id="ConnectionMargeTop">
********************<?php if(isset($erreur)){echo '<div class="erreur">' . $erreur . '</div>';?> <script type="text/javascript"> FrmVisib()</script><?php } ?>
*
********************<form method="POST">
************************<table>
****************************<tr><td><input class="TxtGlobal" type="text" placeholder="Login" name="login" required></td></tr>
****************************<tr><td><input class="TxtGlobal" type="password" placeholder="Mot de passe" name="mdp" required></td></tr>
****************************<tr><td><center><input class="BtnGlobal" type="submit" value="Connexion"></center></td></tr>
************************</table>
********************</form>
****************</div>
************</center>
********</section>
*
****</body>
Voilà, donc si quelqu'un peut m'aider à mieux comprendre le MVC et m'aider à corriger mon problème ce serait cool