Discussion: Redirection MVC POO

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2016
    Messages : 16
    Points : 12
    Points
    12

    Par défaut Redirection MVC POO

    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

  2. #2
    Modérateur
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    15 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 15 311
    Points : 29 634
    Points
    29 634
    Billets dans le blog
    4

    Par défaut

    Dans index.php, vous faites ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    session_start();
    $_SESSION['estAdmin'] = 0;
    Et dans la vue vous faites ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $_SESSION['estAdmin'] = 1;
    header("Location: Index.php?admin&action=accueil");
    Comme je n'ai pas vu de traitement de action=accueil dans votre code, je suppose que vous avez donc une boucle infinie.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. Bonne pratique MVC & POO
    Par discmat dans le forum Langage
    Réponses: 3
    Dernier message: 14/03/2012, 18h38
  2. [POO] Centralisation MVC
    Par T0xF0x dans le forum Syntaxe
    Réponses: 8
    Dernier message: 01/03/2007, 04h45
  3. [POO] MVC : Gestion des "pages"
    Par Dinan dans le forum Syntaxe
    Réponses: 4
    Dernier message: 18/02/2007, 20h44
  4. [POO] MVC : Vue composée
    Par Neuromancien2 dans le forum Syntaxe
    Réponses: 3
    Dernier message: 18/02/2007, 11h38
  5. [MVC]Modélisation POO avec BD
    Par fremsoi dans le forum MVC
    Réponses: 1
    Dernier message: 08/11/2005, 14h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo