Problème de Redirection avec Die

Résolu
zemele Messages postés 119 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 26 novembre 2009 - 13 déc. 2005 à 12:55
zemele Messages postés 119 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 26 novembre 2009 - 14 déc. 2005 à 08:35
Bonjour,




Bon là je suis pommé. Je fait mes redirection à l'aide de cette méthode :




$url = "http://localhost/index_admin.php?page=/modules/article/VoirAllArticle.php";


die('<meta http-equiv="refresh" content="0;URL='.$url.'">');




(je n'utilise pas header, car j'en ai déjà un dans un include, et ça bug tout le temps).




Jusque maintenant ça a toujours très bien fonctionné. Mais depuis hier,
allez savoir pourquoi, sur certaines pages ça ne fonctionne plus. Je
n'ai pourtant rien changé :


L'url ne change pas, mais le fond de la page est blanc. Quand j'actualise (F5), il redirige bien.


Et le pire c'est qu'en regardant la source de la page le code de redirection est là :




<meta http-equiv="refresh" content="0;URL=http://localhost/index_admin.php?page=/modules/article/VoirAllArticle.php">




Quelqu'un peut il m'expliquer ce qu'il se passe ?

12 réponses

kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
13 déc. 2005 à 14:23
ouep... essaye de faire un echo et ensuite un die... sachant (à vérifier je n'en suis pas sur) que la meta doit être entre les balises <head></head> mais bon c'est crade quand même... mieux vaudrait un header... m'enfin bon... .. .

@ tchaOo°
3
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
13 déc. 2005 à 19:09
ob_start();
ob_end_flash() dans ce cas précis.

Cependant, c'est pas spécialement comme ca qu'on travaille :

=> code php
=> include ('frame_du_haut.php');
=> include ('menu_a_gauche.php');
=> include ('central.php');
=> include ('bas.php');

Et si c'est pas central.php que tu dois appeler, mais login.php par exemple, bah tu recommences :

=> code php
=> include ('frame_du_haut.php');

=> include ('menu_a_gauche.php');
=> include ('login.php');

=> include ('bas.php');

Et la, t'aura jamais un problème de header !!
Assuré !
Autrement, faut se servir du cache.
3
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
13 déc. 2005 à 19:56
Alors dans un autre cas :

Tu gardes tout envoi de HTML dans une variable genre $buffer et à la fin de chaque page (j'imagine que y'a un footer.php) :

=> Code PHP.
=> include ('page_demandé.php');
// Chaque page possède une variable nommé $buffer qui contient tout le code html en sortie.
// De ce fait, tout le code PHP qui doit être exécuté dans page_demandé.php peut se faire tranquilement

=> include ('frame_du_haut.php');
=> include ('menu_a_gauche.php');
echo $buffer;
=> include ('bas.php');
3
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
13 déc. 2005 à 13:03
Bah le die(); quoi :o
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zemele Messages postés 119 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 26 novembre 2009
13 déc. 2005 à 15:02
Ok pour ta remaque sur les balises. Ca doit sûrement jouer.



Mais en fait, je viens de faire des tests sous IE, et ça fonctionne
très bien. Le problème viendrai donc de Mozilla qui n'accèpterai pas ce
genre de redirection...
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
13 déc. 2005 à 15:14
Oui il faut bien les déclarer dans l'entête... comme IE ne respecte pas les norme il accepte la meta mais pas Mozilla... .. . ;o)

http://www.allhtml.com/metatags/index.php

@ tchaOo°
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
13 déc. 2005 à 18:25
Salut,

" (je n'utilise pas header, car j'en ai déjà un dans un include, et ça bug tout le temps)."

ah bon ?

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
zemele Messages postés 119 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 26 novembre 2009
13 déc. 2005 à 18:49
Oui. Enfin pas vraiment, ce que je voulais
dire c'est que je travail avec un index qui charge chaque partie
indépendantes. Un fichier en haut, un fichier central et un fichier en
bas. Comme celui du haut contient du code Html mis en forme à l'aide de
style css, il existe une balise <header>. Et comme ma redirection
se fait dans la page centrale => Problème. Parce que le haut de la
page a déjà écrit du code...



En fait d'après mes recherche, il n'est pas rare de travailler de cette
façon, mais je ne vois pas comment utiliser une redirection utilisant
header dans ma page central si du code a déjà été écrit dans la page du
haut... Il doit y avoir une méthode, mais laquelle ?...
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
13 déc. 2005 à 19:26
En même temps inclure trente six pages pour la structure du site c'est pas vraiment comme ça qu'on travaille non plus ^^

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
13 déc. 2005 à 21:14
Ou utiliser un moteur de template pour séparer le traitement des données et leur affichage... c'est le footer qui balance la sauce dont plus de problème d'envoi des header... .. .

@ tchaOo°
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
13 déc. 2005 à 21:43
enfin si t'as besoin de perfs reste sur une solution de ob_start() et ob_end_flush() ça sera largement plus performant qu'un moteur de templates, tout ça pour une redirection...

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
zemele Messages postés 119 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 26 novembre 2009
14 déc. 2005 à 08:35
Merci pour toutes vos réponses. Je
pense que je vais pencher pour la solution du $buffer qui ne nécessite
pas de réorganiser tout le site... Je le serai pour la prochaine fois.
0
Rejoignez-nous