Redirection d'une page PHP vers une autre page mvc
WolfoMir
Messages postés
7
Statut
Membre
-
WolfoMir Messages postés 7 Statut Membre -
WolfoMir Messages postés 7 Statut Membre -
Bonjour, je suis actuellement en stage et je rencontre un problème face a ma 1ere architecture MVC que j'ai crée.
Dans divers forum il est conseiller d'utiliser le header() qui permettrait de faire une redirection de page. Pour autant, dans le modèle mvc cette astuce ne marche pas ou du moins je l'ai peut être mal appliquer. Je vous donne mon exemple.
( Travail en local sur EasyPhp )
(La vue) test/vue/Demarrer.php
(le Controleur) test/Controleur/Demarrer.php
L'idée derrière est lorsque l'utilisateur clique sur Demarrer dans la vue, le contrôleur lance une fonction dans le modèle pour le rajouter dans la base de donnée (je sais faire) et le revoie dans une autre page pour la suite de son activité.
Merci de votre aide d'avance ! :)
Dans divers forum il est conseiller d'utiliser le header() qui permettrait de faire une redirection de page. Pour autant, dans le modèle mvc cette astuce ne marche pas ou du moins je l'ai peut être mal appliquer. Je vous donne mon exemple.
( Travail en local sur EasyPhp )
(La vue) test/vue/Demarrer.php
<?php
?>
<h3>Bienvenu sur ...</h3>
<p>bla bla bla<br/>
Est tu pret?</p>
<h3>
<a href="C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\test\Controleur\Demarrer.php">Demarrer</a>
</h3>
(le Controleur) test/Controleur/Demarrer.php
<?php
header("Location: C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\test\Vue\DureeEtude.php");
exit;
?>
L'idée derrière est lorsque l'utilisateur clique sur Demarrer dans la vue, le contrôleur lance une fonction dans le modèle pour le rajouter dans la base de donnée (je sais faire) et le revoie dans une autre page pour la suite de son activité.
Merci de votre aide d'avance ! :)
3 réponses
-
Salut,
Qu'est-ce qui ne "marche pas" ? Tu as un message d'erreur ?-
-
-
-
Oui avec vos conseils je vais jeter un tour pour les liens relatifs.
"Demarrer.php contient uniquement le code que tu as posté ? "
Oui il n'y pas autre chose avant. Je sais qu'il faut pas mettre autre chose avant le header.
Pour ceux qui liront peut-être ce post plus tard , le fichier de log se trouve en effectuant un clic droit sur l'icone de easyphp > fichier log
J'ai parcourut le fichier log des erreur d'apache mais je n'ai aucun retour dessus pour ce jour-ci. -
(La vue) test/vue/Demarrer.php
<?php
?>
<h3>Bienvenu sur ...</h3>
<p>bla bla bla<br/>
Est tu pret?</p>
<h3>
<a href="test\Controleur\Demarrer.php">Demarrer</a>
</h3>
(le Controleur) test/Controleur/Demarrer.php<?php header("Location:Vue\DureeEtude.php'"); exit; ?>
Avec cela c'a ma resorti une erreur 404 ^^
-
-
Salut,
Ton header n'est pas bon, il manque Location :
header("Location: C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\test\Vue\DureeEtude.php");
Par contre tu devrais utiliser des chemins relatifs parce que quand tu vas mettre en ligne ton site sur une autre machine tes liens ne fonctionneront plus. -
Le problème vient de la vue, vu que je suis sous easyPhp bah en mettant le lien vers le fichier c'a ne marche pas par les répertoire. Donc j'ai bricoler un truc au niveau de la vue de départ.
<h3> <a href="http://127.0.0.1/test/Controleur/Demarrer.php">Demarrer</a> </h3>