27-05-2009, 12:03 PM
faudra relire le manuel de header() ^^
sans vérifier, pour moi header() sert pas à envoyer quelque chose, mais à mettre dans le buffer d'en-tête http, ton élément d'en-tête (traduction, temps qu'il n'a pas été envoyé tu peux même rappeler header() pour écraser un appel fait précédement avec de nouveau paramètre, genre une redirection sur une toute autre page); de plus il ne stop pas l'exécution du script.
Je sais pas d'oû te viens cette idée (imagine si à chaque fois qu'on utilise cette fonction pour définir le charset fallait que le script s'arrête y aurait comme un sushi ).
1) ce que tu as mis en header ne partira que lors du premier echo, ou toute autre sortie de contenu (flush()). Qui va forcer l'envoi de contenu et donc va envoyer en premier ton en-tête http.
2) et donc logique que pour arrêter l'execution du script; faut faire suivre ton header() d'un exit.
--
tu peux aussi utiliser une redirection javascript; mais franchement pas ce qu'il y a de plus élégant.(autant utiliser header())
--
le plus élégant, une redirection interne dans ton moteur de jeu. Faut pour ça que ton moteur de jeu supporte ce genre de "redirection". La plupart du temps si tu travailles en POO tu auras donc une classe de dispatching. Et tu vas donc réinitialiser celle-ci avec ta "redirection" plutot que l'URI "originale" envoyée par le client.(Si t'es en procédural, c'est aussi faisable a priori; mais faut adapter ton système en conséquence)
sans vérifier, pour moi header() sert pas à envoyer quelque chose, mais à mettre dans le buffer d'en-tête http, ton élément d'en-tête (traduction, temps qu'il n'a pas été envoyé tu peux même rappeler header() pour écraser un appel fait précédement avec de nouveau paramètre, genre une redirection sur une toute autre page); de plus il ne stop pas l'exécution du script.
Je sais pas d'oû te viens cette idée (imagine si à chaque fois qu'on utilise cette fonction pour définir le charset fallait que le script s'arrête y aurait comme un sushi ).
1) ce que tu as mis en header ne partira que lors du premier echo, ou toute autre sortie de contenu (flush()). Qui va forcer l'envoi de contenu et donc va envoyer en premier ton en-tête http.
2) et donc logique que pour arrêter l'execution du script; faut faire suivre ton header() d'un exit.
--
tu peux aussi utiliser une redirection javascript; mais franchement pas ce qu'il y a de plus élégant.(autant utiliser header())
--
le plus élégant, une redirection interne dans ton moteur de jeu. Faut pour ça que ton moteur de jeu supporte ce genre de "redirection". La plupart du temps si tu travailles en POO tu auras donc une classe de dispatching. Et tu vas donc réinitialiser celle-ci avec ta "redirection" plutot que l'URI "originale" envoyée par le client.(Si t'es en procédural, c'est aussi faisable a priori; mais faut adapter ton système en conséquence)