Redirection d'une page PHP vers une autre page mvc

Fermé
WolfoMir Messages postés 7 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 10 juin 2015 - Modifié par WolfoMir le 10/06/2015 à 14:41
WolfoMir Messages postés 7 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 10 juin 2015 - 10 juin 2015 à 18:23
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

<?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 ! :)
A voir également:

3 réponses

Danelectro Messages postés 1723 Date d'inscription samedi 25 février 2012 Statut Membre Dernière intervention 29 mars 2018 369
10 juin 2015 à 14:05
Salut,
Qu'est-ce qui ne "marche pas" ? Tu as un message d'erreur ?
1
WolfoMir Messages postés 7 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 10 juin 2015
10 juin 2015 à 14:11
Salut Danelectro,
Au contraire aucun message d'erreur. Ce qui ne marche pas c'est l'utilisation du header() dans le controleur pour la redirection. L'ai-je mal utiliser ou bien estce autre chose a faire? :) merci de ton aide ^^
0
WolfoMir Messages postés 7 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 10 juin 2015
10 juin 2015 à 14:15
PS : pour être plus précis, après avoir cliquer sur Demarrer, c'est comme si l'on effectuait aucune action. Comme si il n'y avait pas de lien , j'ai essayer une redirection vers page web , c'a marche pour autant ^^
0
Danelectro Messages postés 1723 Date d'inscription samedi 25 février 2012 Statut Membre Dernière intervention 29 mars 2018 369
10 juin 2015 à 14:47
Demarrer.php contient uniquement le code que tu as posté ?
Sinon fait un tour dans tes logs PHP pour voir s'il t'engueulent.
Et essaie avec des liens relatifs aussi.
0
WolfoMir Messages postés 7 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 10 juin 2015
10 juin 2015 à 15:04
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.
0
WolfoMir Messages postés 7 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 10 juin 2015
10 juin 2015 à 15:26
(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 ^^
0
CptRomaiin Messages postés 315 Date d'inscription mercredi 23 octobre 2013 Statut Membre Dernière intervention 28 avril 2016 58
10 juin 2015 à 14:24
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.
1
WolfoMir Messages postés 7 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 10 juin 2015
Modifié par WolfoMir le 10/06/2015 à 14:38
Salut CptRomaiin
En effet, j'avais oublier de remettre Location. Cependant, il n'y a aucune action. :/ Mais merci j'avais oublier de le remettre ^^ .
0
WolfoMir Messages postés 7 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 10 juin 2015
10 juin 2015 à 18:23
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>
0