IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Question MVC - pratique


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut Question MVC - pratique
    Bonjour à tous ,

    Voilà j'ai un projet de fin d'année en MVC et j'ai un soucis concernant la redirection de mes pages .

    Le soucis n'est pas tant fonctionnel car tout fonctionne mais le fait que j'utilise des header pour me rediriger pour arriver sur l'action "choisirFiche" quand j'ai terminé une action comme "supprimer" donc j'aimerai savoir comment m'y prendre car on m'a dit que cela ne faisait pas d'utiliser un header pour retourner dans l'action initial donc j'aimerai un conseil technique pour le faire proprement .

    Merci d'avance à tous

    Voici mon code :

    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
     
     
    switch($action){        
        case 'choisirFiche':
            if(isset($_GET['maj'])){
                $info="Mise à jour effectuée";
                include('vues/v_info.php');
            }
            $lesMoisVisiteurs = $pdo->getFiches('CL');
            if($lesMoisVisiteurs == null){
                $info = "Aucune Fiches à traiter";
                include('vues/v_info.php');
            }
            else{
                $ucPasse = 'validFrais';
                $actionPasse = 'choisirFiche';
                if(!empty($_POST)){
                    $value = $_POST['listeFiches'];
                    $idVisiteurMois =  explode('-',$value);
                    $id = $idVisiteurMois[0];
                    $mois = $idVisiteurMois[1];
                }else{
                    $lesMoisVisiteursLigne1 = $lesMoisVisiteurs[0];
                    $mois = $lesMoisVisiteursLigne1['mois'];
                    $id  = $lesMoisVisiteursLigne1['id'];
                    $value = $id."-".$mois;
                }
                $listeFraisForfait = $pdo->getLesFraisForfait($id, $mois);
                $listeFraisHorsForfait = $pdo->getLesFraisHorsForfait($id, $mois);
                include 'vues/v_listeFiches.php';
                include 'vues/v_comptableValidation.php';
            }
        break;
        case 'mettreAJour':
            $fraisForfait = array(
                    "ETP"=>intval($_POST["lesFrais"]["ETP"]),
                    "KM"=>intval($_POST["lesFrais"]["KM"]),
                    "NUI"=>intval($_POST["lesFrais"]["NUI"]),
                    "REP"=>intval($_POST["lesFrais"]["REP"])
            );
            $pdo->majFraisForfait($_POST["id"], $_POST["mois"], $fraisForfait);
            header("Location:index.php?uc=validFrais&action=choisirFiche&maj=ok");
     
        break;
        case 'supprimer':
            $pdo->supprimerFraisHorsForfait($_GET['idFrais']);
            header("Location:index.php?uc=validFrais&action=choisirFiche");
        break;
        case 'reporter':
            $pdo->reporter1Mois($_GET['idFrais'], $_GET['date']);
            header("Location:index.php?uc=validFrais&action=choisirFiche");
        break;
        case 'valider':
            $pdo->modificationEtat("VA" , $_POST['id'] , $_POST['mois']);
            header("Location:index.php?uc=validFrais&action=choisirFiche");
        break;
     
     
     
    }
    ?>

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    c'est une manière de faire pas très coutumière faut avouer.
    Pourquoi ne renvoies tu pas directement la vue correspondant à la bonne ou mauvaise fin de l'action ?
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    case 'supprimer':
            $pdo->supprimerFraisHorsForfait($_GET['idFrais']);
            header("Location:index.php?uc=validFrais&action=choisirFiche");
        break;
    par quelque chose de cet acabit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    case 'supprimer':
            $pdo->supprimerFraisHorsForfait($_GET['idFrais']);
            include 'ta_vue';
        break;
    D'ailleurs prends l'habitude de TOUJOURS mettre exit; après chaque redirection parce qu'une redirection n'arrête pas le script et si tu as du code après, il sera exécuté.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut
    Par exemple quand j'ai supprimé une fiche de frais , je dois recharger les fiches restantes quand je reviens sur la page et c'est l'action "choisirFiche" qui fait ca , c'est pour ca que j'ai utilisé le header mais si cela ne se fait pas alors je vais modifier mais à part faire procédure reprenant le code de "choisirFiche" comme ca j'utilise pour les deux je vois pas trop comment faire autrement .

    Merci du conseil pour le header

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Ce n'est pas une question si ça se fait ou pas c'est juste que tu économises une grosse étape dans le traitement.
    Au lieu de rediriger vers la page de traitement adéquate tu renvoies tout de suite la bonne page.
    D'un côté tu vas faire : 2 allers-retours et de l'autre qu'un seul... Lequel est le mieux à ton avis ?

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut
    Un aller Merci des conseils

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Question MVC Razor
    Par theMonz31 dans le forum ASP.NET MVC
    Réponses: 2
    Dernier message: 12/03/2016, 12h20
  2. Question MVC ?
    Par xess91 dans le forum Langage
    Réponses: 1
    Dernier message: 22/04/2012, 11h02
  3. Listes chaines, quelques questions de pratique
    Par student_ dans le forum Débuter
    Réponses: 3
    Dernier message: 16/01/2010, 00h16
  4. Question théorico-pratique sur les méthodes d’instances
    Par eyquem dans le forum Général Python
    Réponses: 3
    Dernier message: 23/12/2009, 11h09

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