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 donc j'aimerai un conseil technique pour le faire proprement .
Merci d'avance à tous
Voici mon code :
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;
}
?>
Bonjour,
En MVC, les actions se passent dans le controlleur.
C'est le Router qui va "parser" l'url pour récupérer le controlleur et l'action.
Oui mais le soucis en fait j'ai une fiche de sélectionner dans ma liste déroulante (action: "choisirFiche") et que je choisie de la supprime , j'exectue l'action "supprime" et aprés il faut donc que je resélectionne une autre fiche dans la liste donc j'ai décidé de le faire par un header mais mon prof m'a dit que cela n'était pas correct de le faire comme ca par rapport aux nombres de chargement , j'ai pas trés bien compris ce qui voulait me dire donc je voulais savoir comment vous vous y seriez pris pour effectuer la chose ?