Si je me trompe faites le moi savoir:
La valeur du paramètre "Location" est une URL complete donc, il vaut mieux
remplacer(TRUE) que
ajouté(FALSE) sachant que par defaut on est sur FALSE ?
Si je puis me permettre, aucune des deux :) Lorsque tu veux ajouter un header de redirection, utilise plutot la fonction die() qui permet de passer outre les headers deja envoyés (par exemple un message d'erreur). Essayes donc: die("<meta http-equiv="refresh" content="0; URL=http://mon.site.ici/mon_fichier.php">");
De plus, tu peux très bien utiliser une url relative avec ce meta.
-- Tout sur les eggdrops http://www.c-p-f.org ML @
Manu wrote:
Hello,
Cela fonctionne mais la quelle de ces 2 lignes est la plus juste ?
Si je puis me permettre, aucune des deux :)
Lorsque tu veux ajouter un header de redirection, utilise plutot la
fonction die() qui permet de passer outre les headers deja envoyés (par
exemple un message d'erreur).
Essayes donc:
die("<meta http-equiv="refresh" content="0;
URL=http://mon.site.ici/mon_fichier.php">");
De plus, tu peux très bien utiliser une url relative avec ce meta.
--
Tout sur les eggdrops
http://www.c-p-f.org
ML @ eggdrop_fr@yahoogroupes.fr
Si je puis me permettre, aucune des deux :) Lorsque tu veux ajouter un header de redirection, utilise plutot la fonction die() qui permet de passer outre les headers deja envoyés (par exemple un message d'erreur). Essayes donc: die("<meta http-equiv="refresh" content="0; URL=http://mon.site.ici/mon_fichier.php">");
De plus, tu peux très bien utiliser une url relative avec ce meta.
-- Tout sur les eggdrops http://www.c-p-f.org ML @
Nudrema
CrazyCat wrote:
Manu wrote:
Hello,
Cela fonctionne mais la quelle de ces 2 lignes est la plus juste ?
Si je puis me permettre, aucune des deux :) Lorsque tu veux ajouter un header de redirection, utilise plutot la fonction die() qui permet de passer outre les headers deja envoyés (par exemple un message d'erreur). Essayes donc: die("<meta http-equiv="refresh" content="0; URL=http://mon.site.ici/mon_fichier.php">");
De plus, tu peux très bien utiliser une url relative avec ce meta.
Si je puis me permettre, c'est n'importe quoi. Une redirection se fait par HTTP via la fonction header() en php. Pas par l'écriture d'une obscure balise meta qui n'a rien de standard et dont on n'est pas assuré du résultat. Pour "passer outre un éventuel message d'erreur", la solution est plus probablement à chercher dans la fonction error_reporting(E_NONE), qui permettra en outre de ne pas révéler accidentellement une éventuelle faille du site aux visiteurs.
De plus, la fonction die() ne sert pas à créer une redirection ou quoi que ce soit, mais à faire avorter le script. À n'utiliser qu'en dernière extrémité, c'est à dire jamais en dehors de phases de débogage.
Pour revenir à la question, les deux sont acceptables, et aucun n'est plus correct que l'autre. Le second a comme différence qu'il remplace un en-tête Location déjà envoyé plutôt que de s'y ajouter. Sans le TRUE, si tu envoies deux headers('Location: ...'), les deux seront envoyés. Sinon, seul le second.
-- Nudrema (S.F.) http://tw.o0o.ch
CrazyCat wrote:
Manu wrote:
Hello,
Cela fonctionne mais la quelle de ces 2 lignes est la plus juste ?
Si je puis me permettre, aucune des deux :)
Lorsque tu veux ajouter un header de redirection, utilise plutot la
fonction die() qui permet de passer outre les headers deja envoyés (par
exemple un message d'erreur).
Essayes donc:
die("<meta http-equiv="refresh" content="0;
URL=http://mon.site.ici/mon_fichier.php">");
De plus, tu peux très bien utiliser une url relative avec ce meta.
Si je puis me permettre, c'est n'importe quoi. Une redirection se
fait par HTTP via la fonction header() en php. Pas par l'écriture
d'une obscure balise meta qui n'a rien de standard et dont on
n'est pas assuré du résultat. Pour "passer outre un éventuel
message d'erreur", la solution est plus probablement à chercher
dans la fonction error_reporting(E_NONE), qui permettra en outre
de ne pas révéler accidentellement une éventuelle faille du site
aux visiteurs.
De plus, la fonction die() ne sert pas à créer une redirection ou
quoi que ce soit, mais à faire avorter le script. À n'utiliser
qu'en dernière extrémité, c'est à dire jamais en dehors de phases
de débogage.
Pour revenir à la question, les deux sont acceptables, et aucun
n'est plus correct que l'autre. Le second a comme différence
qu'il remplace un en-tête Location déjà envoyé plutôt que de s'y
ajouter. Sans le TRUE, si tu envoies deux headers('Location:
...'), les deux seront envoyés. Sinon, seul le second.
Si je puis me permettre, aucune des deux :) Lorsque tu veux ajouter un header de redirection, utilise plutot la fonction die() qui permet de passer outre les headers deja envoyés (par exemple un message d'erreur). Essayes donc: die("<meta http-equiv="refresh" content="0; URL=http://mon.site.ici/mon_fichier.php">");
De plus, tu peux très bien utiliser une url relative avec ce meta.
Si je puis me permettre, c'est n'importe quoi. Une redirection se fait par HTTP via la fonction header() en php. Pas par l'écriture d'une obscure balise meta qui n'a rien de standard et dont on n'est pas assuré du résultat. Pour "passer outre un éventuel message d'erreur", la solution est plus probablement à chercher dans la fonction error_reporting(E_NONE), qui permettra en outre de ne pas révéler accidentellement une éventuelle faille du site aux visiteurs.
De plus, la fonction die() ne sert pas à créer une redirection ou quoi que ce soit, mais à faire avorter le script. À n'utiliser qu'en dernière extrémité, c'est à dire jamais en dehors de phases de débogage.
Pour revenir à la question, les deux sont acceptables, et aucun n'est plus correct que l'autre. Le second a comme différence qu'il remplace un en-tête Location déjà envoyé plutôt que de s'y ajouter. Sans le TRUE, si tu envoies deux headers('Location: ...'), les deux seront envoyés. Sinon, seul le second.
-- Nudrema (S.F.) http://tw.o0o.ch
Olivier Miakinen
Cela fonctionne mais la quelle de ces 2 lignes est la plus juste ? 1] header("Location: http://mon.site.ici/mon_fichier.php"); OU 2] header("Location: http://mon.site.ici/mon_fichier.php",TRUE);
Lorsque tu veux ajouter un header de redirection, utilise plutot la ^^^^^^(*)
fonction die() qui permet de passer outre les headers deja envoyés (par exemple un message d'erreur). Essayes donc: die("<meta http-equiv="refresh" content="0; URL=http://mon.site.ici/mon_fichier.php">");
ÀMHA, l'avantage principal de l'entête HTTP sur la balise META, c'est que cela fonctionne aussi bien pour les binaires (par exemple les images) que pour les pages HTML. Un autre avantage, c'est que si le visiteur passe par un proxy, eh bien le proxy redemandera la page correcte tout seul comme un grand, au lieu de remonter la page HTML puis d'attendre une nouvelle requête.
Enfin, moi ce que j'en dis...
Olivier
(*) La balise META n'est pas un header HTTP. Cela va peut-être sans dire, mais toujours mieux en le disant.
Cela fonctionne mais la quelle de ces 2 lignes est la plus juste ?
1] header("Location: http://mon.site.ici/mon_fichier.php");
OU
2] header("Location: http://mon.site.ici/mon_fichier.php",TRUE);
Lorsque tu veux ajouter un header de redirection, utilise plutot la
^^^^^^(*)
fonction die() qui permet de passer outre les headers deja envoyés (par
exemple un message d'erreur).
Essayes donc:
die("<meta http-equiv="refresh" content="0;
URL=http://mon.site.ici/mon_fichier.php">");
ÀMHA, l'avantage principal de l'entête HTTP sur la balise META, c'est
que cela fonctionne aussi bien pour les binaires (par exemple les
images) que pour les pages HTML. Un autre avantage, c'est que si le
visiteur passe par un proxy, eh bien le proxy redemandera la page
correcte tout seul comme un grand, au lieu de remonter la page HTML puis
d'attendre une nouvelle requête.
Enfin, moi ce que j'en dis...
Olivier
(*) La balise META n'est pas un header HTTP. Cela va peut-être sans
dire, mais toujours mieux en le disant.
Cela fonctionne mais la quelle de ces 2 lignes est la plus juste ? 1] header("Location: http://mon.site.ici/mon_fichier.php"); OU 2] header("Location: http://mon.site.ici/mon_fichier.php",TRUE);
Lorsque tu veux ajouter un header de redirection, utilise plutot la ^^^^^^(*)
fonction die() qui permet de passer outre les headers deja envoyés (par exemple un message d'erreur). Essayes donc: die("<meta http-equiv="refresh" content="0; URL=http://mon.site.ici/mon_fichier.php">");
ÀMHA, l'avantage principal de l'entête HTTP sur la balise META, c'est que cela fonctionne aussi bien pour les binaires (par exemple les images) que pour les pages HTML. Un autre avantage, c'est que si le visiteur passe par un proxy, eh bien le proxy redemandera la page correcte tout seul comme un grand, au lieu de remonter la page HTML puis d'attendre une nouvelle requête.
Enfin, moi ce que j'en dis...
Olivier
(*) La balise META n'est pas un header HTTP. Cela va peut-être sans dire, mais toujours mieux en le disant.
CrazyCat
Nudrema wrote:
Si je puis me permettre, c'est n'importe quoi. Une redirection se fait par HTTP via la fonction header() en php. Pas par l'écriture d'une obscure balise meta qui n'a rien de standard et dont on n'est pas assuré du résultat. Pour "passer outre un éventuel message d'erreur", la solution est plus probablement à chercher dans la fonction error_reporting(E_NONE), qui permettra en outre de ne pas révéler accidentellement une éventuelle faille du site aux visiteurs.
Evidemment, j'oubliais que tout le monde sauf moi à accès au php.ini du serveur et peut donc modifier le error_reporting directement, et aussi que tout le monde maitrise tellement le php que modifier ce type de fonctions est aisé. On se demande même pourquoi ce NG existe.
De plus, la fonction die() ne sert pas à créer une redirection ou quoi que ce soit, mais à faire avorter le script. À n'utiliser qu'en dernière extrémité, c'est à dire jamais en dehors de phases de débogage.
Je m'inscris en faux. J'adore cette fonction qui me permet de sauter allègrement d'une page à une autre quel que soit l'état final d'un traitement.
Pour revenir à la question, les deux sont acceptables, et aucun n'est plus correct que l'autre. Le second a comme différence qu'il remplace un en-tête Location déjà envoyé plutôt que de s'y ajouter. Sans le TRUE, si tu envoies deux headers('Location: ...'), les deux seront envoyés. Sinon, seul le second.
Par contre, je veux bien faire mon mea culpa: le "aucune des deux" était mal tourné, je voulais dire qu'aucune n'était plus juste que l'autre, les deux se valent.
Et pour désamorcer les grands penseurs du PHP, je signale que l'utilisation du die(), même si elle est soit-disant juste pour le débuggage, est très pratique (NB ce mot: pratique). Je suis désolé de ne pas avoir suivi de cours pour le PHP, j'ai appris sur le tas et je ne pense pas me débrouiller trop mal avec des solutions qui, si elles ne sont pas RFC compliant, sont efficaces et stables.
-- Tout sur les eggdrops http://www.c-p-f.org ML @
Nudrema wrote:
Si je puis me permettre, c'est n'importe quoi. Une redirection se
fait par HTTP via la fonction header() en php. Pas par l'écriture
d'une obscure balise meta qui n'a rien de standard et dont on
n'est pas assuré du résultat. Pour "passer outre un éventuel
message d'erreur", la solution est plus probablement à chercher
dans la fonction error_reporting(E_NONE), qui permettra en outre
de ne pas révéler accidentellement une éventuelle faille du site
aux visiteurs.
Evidemment, j'oubliais que tout le monde sauf moi à accès au php.ini du
serveur et peut donc modifier le error_reporting directement, et aussi
que tout le monde maitrise tellement le php que modifier ce type de
fonctions est aisé. On se demande même pourquoi ce NG existe.
De plus, la fonction die() ne sert pas à créer une redirection ou
quoi que ce soit, mais à faire avorter le script. À n'utiliser
qu'en dernière extrémité, c'est à dire jamais en dehors de phases
de débogage.
Je m'inscris en faux. J'adore cette fonction qui me permet de sauter
allègrement d'une page à une autre quel que soit l'état final d'un
traitement.
Pour revenir à la question, les deux sont acceptables, et aucun
n'est plus correct que l'autre. Le second a comme différence
qu'il remplace un en-tête Location déjà envoyé plutôt que de s'y
ajouter. Sans le TRUE, si tu envoies deux headers('Location:
...'), les deux seront envoyés. Sinon, seul le second.
Par contre, je veux bien faire mon mea culpa: le "aucune des deux" était
mal tourné, je voulais dire qu'aucune n'était plus juste que l'autre,
les deux se valent.
Et pour désamorcer les grands penseurs du PHP, je signale que
l'utilisation du die(), même si elle est soit-disant juste pour le
débuggage, est très pratique (NB ce mot: pratique). Je suis désolé de ne
pas avoir suivi de cours pour le PHP, j'ai appris sur le tas et je ne
pense pas me débrouiller trop mal avec des solutions qui, si elles ne
sont pas RFC compliant, sont efficaces et stables.
--
Tout sur les eggdrops
http://www.c-p-f.org
ML @ eggdrop_fr@yahoogroupes.fr
Si je puis me permettre, c'est n'importe quoi. Une redirection se fait par HTTP via la fonction header() en php. Pas par l'écriture d'une obscure balise meta qui n'a rien de standard et dont on n'est pas assuré du résultat. Pour "passer outre un éventuel message d'erreur", la solution est plus probablement à chercher dans la fonction error_reporting(E_NONE), qui permettra en outre de ne pas révéler accidentellement une éventuelle faille du site aux visiteurs.
Evidemment, j'oubliais que tout le monde sauf moi à accès au php.ini du serveur et peut donc modifier le error_reporting directement, et aussi que tout le monde maitrise tellement le php que modifier ce type de fonctions est aisé. On se demande même pourquoi ce NG existe.
De plus, la fonction die() ne sert pas à créer une redirection ou quoi que ce soit, mais à faire avorter le script. À n'utiliser qu'en dernière extrémité, c'est à dire jamais en dehors de phases de débogage.
Je m'inscris en faux. J'adore cette fonction qui me permet de sauter allègrement d'une page à une autre quel que soit l'état final d'un traitement.
Pour revenir à la question, les deux sont acceptables, et aucun n'est plus correct que l'autre. Le second a comme différence qu'il remplace un en-tête Location déjà envoyé plutôt que de s'y ajouter. Sans le TRUE, si tu envoies deux headers('Location: ...'), les deux seront envoyés. Sinon, seul le second.
Par contre, je veux bien faire mon mea culpa: le "aucune des deux" était mal tourné, je voulais dire qu'aucune n'était plus juste que l'autre, les deux se valent.
Et pour désamorcer les grands penseurs du PHP, je signale que l'utilisation du die(), même si elle est soit-disant juste pour le débuggage, est très pratique (NB ce mot: pratique). Je suis désolé de ne pas avoir suivi de cours pour le PHP, j'ai appris sur le tas et je ne pense pas me débrouiller trop mal avec des solutions qui, si elles ne sont pas RFC compliant, sont efficaces et stables.
-- Tout sur les eggdrops http://www.c-p-f.org ML @
CrazyCat
Olivier Miakinen wrote:
Cela fonctionne mais la quelle de ces 2 lignes est la plus juste ? 1] header("Location: http://mon.site.ici/mon_fichier.php"); OU 2] header("Location: http://mon.site.ici/mon_fichier.php",TRUE);
Lorsque tu veux ajouter un header de redirection, utilise plutot la
^^^^^^(*)
fonction die() qui permet de passer outre les headers deja envoyés (par exemple un message d'erreur). Essayes donc: die("<meta http-equiv="refresh" content="0; URL=http://mon.site.ici/mon_fichier.php">");
ÀMHA, l'avantage principal de l'entête HTTP sur la balise META, c'est que cela fonctionne aussi bien pour les binaires (par exemple les images) que pour les pages HTML. Un autre avantage, c'est que si le visiteur passe par un proxy, eh bien le proxy redemandera la page correcte tout seul comme un grand, au lieu de remonter la page HTML puis d'attendre une nouvelle requête.
Oui, effectivement, mais je tachais de donner une réponse pour le problème particulier, à savoir rediriger sur une autre page :)
Enfin, moi ce que j'en dis...
si si, tu as eu raison :)
(*) La balise META n'est pas un header HTTP. Cela va peut-être sans dire, mais toujours mieux en le disant.
(*) elle peut être assimilée non?
-- Tout sur les eggdrops http://www.c-p-f.org ML @
Olivier Miakinen wrote:
Cela fonctionne mais la quelle de ces 2 lignes est la plus juste ?
1] header("Location: http://mon.site.ici/mon_fichier.php");
OU
2] header("Location: http://mon.site.ici/mon_fichier.php",TRUE);
Lorsque tu veux ajouter un header de redirection, utilise plutot la
^^^^^^(*)
fonction die() qui permet de passer outre les headers deja envoyés (par
exemple un message d'erreur).
Essayes donc:
die("<meta http-equiv="refresh" content="0;
URL=http://mon.site.ici/mon_fichier.php">");
ÀMHA, l'avantage principal de l'entête HTTP sur la balise META, c'est
que cela fonctionne aussi bien pour les binaires (par exemple les
images) que pour les pages HTML. Un autre avantage, c'est que si le
visiteur passe par un proxy, eh bien le proxy redemandera la page
correcte tout seul comme un grand, au lieu de remonter la page HTML puis
d'attendre une nouvelle requête.
Oui, effectivement, mais je tachais de donner une réponse pour le
problème particulier, à savoir rediriger sur une autre page :)
Enfin, moi ce que j'en dis...
si si, tu as eu raison :)
(*) La balise META n'est pas un header HTTP. Cela va peut-être sans
dire, mais toujours mieux en le disant.
(*) elle peut être assimilée non?
--
Tout sur les eggdrops
http://www.c-p-f.org
ML @ eggdrop_fr@yahoogroupes.fr
Cela fonctionne mais la quelle de ces 2 lignes est la plus juste ? 1] header("Location: http://mon.site.ici/mon_fichier.php"); OU 2] header("Location: http://mon.site.ici/mon_fichier.php",TRUE);
Lorsque tu veux ajouter un header de redirection, utilise plutot la
^^^^^^(*)
fonction die() qui permet de passer outre les headers deja envoyés (par exemple un message d'erreur). Essayes donc: die("<meta http-equiv="refresh" content="0; URL=http://mon.site.ici/mon_fichier.php">");
ÀMHA, l'avantage principal de l'entête HTTP sur la balise META, c'est que cela fonctionne aussi bien pour les binaires (par exemple les images) que pour les pages HTML. Un autre avantage, c'est que si le visiteur passe par un proxy, eh bien le proxy redemandera la page correcte tout seul comme un grand, au lieu de remonter la page HTML puis d'attendre une nouvelle requête.
Oui, effectivement, mais je tachais de donner une réponse pour le problème particulier, à savoir rediriger sur une autre page :)
Enfin, moi ce que j'en dis...
si si, tu as eu raison :)
(*) La balise META n'est pas un header HTTP. Cela va peut-être sans dire, mais toujours mieux en le disant.
(*) elle peut être assimilée non?
-- Tout sur les eggdrops http://www.c-p-f.org ML @
Savut
Une note pour remettre CrazyCat sur la bonne voie. Tel que defini dans php.net
Note : exit() n'est pas une véritable fonction, mais un élément de langage.
exit() termine l'exécution du script courant. Elle n'a pas de valeur de retour (et pour cause!), mais elle utilisera le message status comme message de fin d'exécution.
Note : La fonction die() est un alias de la fonction exit(). ---------------------------------------------------------------------------
Donc son usage est de terminer l'execution du script et si on veux, envoyer un message d'erreur au besoin. A noter aussi que exit() est a preferer. Aussi un simple note, exit() et die() devrait etre le plus souvent evite car cela fait des code assez patche, c'est a dire, avec certaine manque de control de condition, de verification d'erreur, etc... Sauf certaines cas... :D
Aussi pour header(), j'ajouterai que header(location) sert a renvoyer le server sur une autre fichier, sans necessairement que ca sois du html, des images, des bin, etc. Par exemple j'ai ceci:
Contrairement a ce que la plupart disent, Header("location: ../") marche, les url relative marchent.
Je pense avec mes 8 ans d'experiences en PHP d'etre en mesure de participer au debat.
Au fond, je ne dirais pas que ton code ne marche pas, mais c'est pas la bonne methode, et que dans certain utilisation plus specifique, ton die() pourrais te jouer de vilain tour.
sont efficaces et stables ??? Etre efficace et stable c'est comprendre comment ca marche le language avant tout.
Merci de ta conprehension.
Savut
Une note pour remettre CrazyCat sur la bonne voie. Tel que defini dans
php.net
Note : exit() n'est pas une véritable fonction, mais un élément de langage.
exit() termine l'exécution du script courant. Elle n'a pas de valeur de
retour (et pour cause!), mais elle utilisera le message status comme message
de fin d'exécution.
Note : La fonction die() est un alias de la fonction exit().
---------------------------------------------------------------------------
Donc son usage est de terminer l'execution du script et si on veux, envoyer
un message d'erreur au besoin.
A noter aussi que exit() est a preferer. Aussi un simple note, exit() et
die() devrait etre le plus souvent evite car cela fait des code assez
patche, c'est a dire, avec certaine manque de control de condition, de
verification d'erreur, etc... Sauf certaines cas... :D
Aussi pour header(), j'ajouterai que header(location) sert a renvoyer le
server sur une autre fichier, sans necessairement que ca sois du html, des
images, des bin, etc.
Par exemple j'ai ceci:
Contrairement a ce que la plupart disent, Header("location: ../") marche,
les url relative marchent.
Je pense avec mes 8 ans d'experiences en PHP d'etre en mesure de participer
au debat.
Au fond, je ne dirais pas que ton code ne marche pas, mais c'est pas la
bonne methode, et que dans certain utilisation plus specifique, ton die()
pourrais te jouer de vilain tour.
sont efficaces et stables ??? Etre efficace et stable c'est comprendre
comment ca marche le language avant tout.
Note : exit() n'est pas une véritable fonction, mais un élément de langage.
exit() termine l'exécution du script courant. Elle n'a pas de valeur de retour (et pour cause!), mais elle utilisera le message status comme message de fin d'exécution.
Note : La fonction die() est un alias de la fonction exit(). ---------------------------------------------------------------------------
Donc son usage est de terminer l'execution du script et si on veux, envoyer un message d'erreur au besoin. A noter aussi que exit() est a preferer. Aussi un simple note, exit() et die() devrait etre le plus souvent evite car cela fait des code assez patche, c'est a dire, avec certaine manque de control de condition, de verification d'erreur, etc... Sauf certaines cas... :D
Aussi pour header(), j'ajouterai que header(location) sert a renvoyer le server sur une autre fichier, sans necessairement que ca sois du html, des images, des bin, etc. Par exemple j'ai ceci:
Contrairement a ce que la plupart disent, Header("location: ../") marche, les url relative marchent.
Je pense avec mes 8 ans d'experiences en PHP d'etre en mesure de participer au debat.
Au fond, je ne dirais pas que ton code ne marche pas, mais c'est pas la bonne methode, et que dans certain utilisation plus specifique, ton die() pourrais te jouer de vilain tour.
sont efficaces et stables ??? Etre efficace et stable c'est comprendre comment ca marche le language avant tout.
Merci de ta conprehension.
Savut
John Gallet
Bonsoir,
De plus, la fonction die() ne sert pas à créer une redirection ou quoi que ce soit, mais à faire avorter le script. À n'utiliser qu'en dernière extrémité, c'est à dire jamais en dehors de phases de débogage.
C'est une vision des choses qui est très restrictive. je serais curieux de voir comment tu gères les cas d'erreur.
Par contre, je veux bien faire mon mea culpa: le "aucune des deux" était mal tourné Mais si, mais si, aucune des deux.
http://faqfclphp.free.fr/#ss2.11
Et pour désamorcer les grands penseurs du PHP, je signale que l'utilisation du die(), même si elle est soit-disant juste pour le débuggage, est très pratique (NB ce mot: pratique).
Je n'utilise jamais die pour le débuggage, pour le débugage j'utilise une fonction avec un niveau de trace activable. Ce que d'aucuns appellent débugage, c'est de la gestion d'erreur à la goret.
Je suis désolé de ne pas avoir suivi de cours pour le PHP Il ne s'agit pas de PHP ou pas, mais d'algorithmique, c'est tout. qui je le
rappelle est indépendante du langage. exit() est utilisée pour arrêter un script. Si l'algorithme que tu fais l'exige, tu utilises exit(). Point barre.
sont pas RFC compliant, sont efficaces et stables. Ce qui veut donc dire que tes algoritmes sont corrects, ce qui est le plus
important dans un programme informatique.
a++ JG
Bonsoir,
De plus, la fonction die() ne sert pas à créer une redirection ou
quoi que ce soit, mais à faire avorter le script. À n'utiliser
qu'en dernière extrémité, c'est à dire jamais en dehors de phases
de débogage.
C'est une vision des choses qui est très restrictive. je serais curieux de
voir comment tu gères les cas d'erreur.
Par contre, je veux bien faire mon mea culpa: le "aucune des deux" était
mal tourné
Mais si, mais si, aucune des deux.
http://faqfclphp.free.fr/#ss2.11
Et pour désamorcer les grands penseurs du PHP, je signale que
l'utilisation du die(), même si elle est soit-disant juste pour le
débuggage, est très pratique (NB ce mot: pratique).
Je n'utilise jamais die pour le débuggage, pour le débugage j'utilise une
fonction avec un niveau de trace activable. Ce que d'aucuns appellent
débugage, c'est de la gestion d'erreur à la goret.
Je suis désolé de ne pas avoir suivi de cours pour le PHP
Il ne s'agit pas de PHP ou pas, mais d'algorithmique, c'est tout. qui je le
rappelle est indépendante du langage.
exit() est utilisée pour arrêter un script. Si l'algorithme que tu fais
l'exige, tu utilises exit(). Point barre.
sont pas RFC compliant, sont efficaces et stables.
Ce qui veut donc dire que tes algoritmes sont corrects, ce qui est le plus
De plus, la fonction die() ne sert pas à créer une redirection ou quoi que ce soit, mais à faire avorter le script. À n'utiliser qu'en dernière extrémité, c'est à dire jamais en dehors de phases de débogage.
C'est une vision des choses qui est très restrictive. je serais curieux de voir comment tu gères les cas d'erreur.
Par contre, je veux bien faire mon mea culpa: le "aucune des deux" était mal tourné Mais si, mais si, aucune des deux.
http://faqfclphp.free.fr/#ss2.11
Et pour désamorcer les grands penseurs du PHP, je signale que l'utilisation du die(), même si elle est soit-disant juste pour le débuggage, est très pratique (NB ce mot: pratique).
Je n'utilise jamais die pour le débuggage, pour le débugage j'utilise une fonction avec un niveau de trace activable. Ce que d'aucuns appellent débugage, c'est de la gestion d'erreur à la goret.
Je suis désolé de ne pas avoir suivi de cours pour le PHP Il ne s'agit pas de PHP ou pas, mais d'algorithmique, c'est tout. qui je le
rappelle est indépendante du langage. exit() est utilisée pour arrêter un script. Si l'algorithme que tu fais l'exige, tu utilises exit(). Point barre.
sont pas RFC compliant, sont efficaces et stables. Ce qui veut donc dire que tes algoritmes sont corrects, ce qui est le plus
important dans un programme informatique.
a++ JG
John Gallet
Bonsoir,
die("<meta http-equiv="refresh" content="0; (*) La balise META n'est pas un header HTTP. Cela va peut-être sans
dire, mais toujours mieux en le disant. (*) elle peut être assimilée non?
Pas dans son fonctionnement. C'est du HTML tout ce qu'il y a de plus correct et non une zone d'entêtes. Tu peux mettre du texte en dessous avec une valeur de refresh de quelques secondes, ce que header(Location) ne te permettra jamais de faire.
a++ JG
Bonsoir,
die("<meta http-equiv="refresh" content="0;
(*) La balise META n'est pas un header HTTP. Cela va peut-être sans
dire, mais toujours mieux en le disant.
(*) elle peut être assimilée non?
Pas dans son fonctionnement. C'est du HTML tout ce qu'il y a de plus correct
et non une zone d'entêtes. Tu peux mettre du texte en dessous avec une
valeur de refresh de quelques secondes, ce que header(Location) ne te
permettra jamais de faire.
die("<meta http-equiv="refresh" content="0; (*) La balise META n'est pas un header HTTP. Cela va peut-être sans
dire, mais toujours mieux en le disant. (*) elle peut être assimilée non?
Pas dans son fonctionnement. C'est du HTML tout ce qu'il y a de plus correct et non une zone d'entêtes. Tu peux mettre du texte en dessous avec une valeur de refresh de quelques secondes, ce que header(Location) ne te permettra jamais de faire.
a++ JG
John Gallet
Je pense avec mes 8 ans d'experiences en PHP d'etre en mesure de participer au debat.
8 ans d'expérience ? Quelqu'un peut me rappeler la date de sortie de PHP/FI siouplait ?
JG
Je pense avec mes 8 ans d'experiences en PHP d'etre en mesure de participer
au debat.
8 ans d'expérience ? Quelqu'un peut me rappeler la date de sortie de PHP/FI
siouplait ?
Je pense avec mes 8 ans d'experiences en PHP d'etre en mesure de participer au debat.
8 ans d'expérience ? Quelqu'un peut me rappeler la date de sortie de PHP/FI siouplait ?
JG
Olivier Miakinen
[...] je tachais de donner une réponse pour le problème particulier, à savoir rediriger sur une autre page :)
Ben en fait, la réponse était contenue dans la question. Que reproches-tu au juste au « header("Location: ...") » ?
(*) La balise META n'est pas un header HTTP. Cela va peut-être sans dire, mais toujours mieux en le disant.
(*) elle peut être assimilée non?
Je voudrais bien te faire plaisir, mais non, je ne peux pas répondre par l'affirmative. Le header HTTP doit être reconnu par quiconque utilise HTTP pour récupérer des pages web. La balise META, au contraire, dépend de l'application qui aura récupéré la page, cherchera à l'interpréter, puis éventuellement décidera que c'est du HTML et que les caractères '<', 'M', 'E', 'T', 'A', etc., mis bout à bout, ont une signification et que cette signification fait qu'il pourrait être bon de laisser tomber la page en cours et de réouvrir une connexion HTTP pour faire une autre requête...
[...] je tachais de donner une réponse pour le
problème particulier, à savoir rediriger sur une autre page :)
Ben en fait, la réponse était contenue dans la question. Que
reproches-tu au juste au « header("Location: ...") » ?
(*) La balise META n'est pas un header HTTP. Cela va peut-être sans
dire, mais toujours mieux en le disant.
(*) elle peut être assimilée non?
Je voudrais bien te faire plaisir, mais non, je ne peux pas répondre par
l'affirmative. Le header HTTP doit être reconnu par quiconque utilise
HTTP pour récupérer des pages web. La balise META, au contraire, dépend
de l'application qui aura récupéré la page, cherchera à l'interpréter,
puis éventuellement décidera que c'est du HTML et que les caractères
'<', 'M', 'E', 'T', 'A', etc., mis bout à bout, ont une signification et
que cette signification fait qu'il pourrait être bon de laisser tomber
la page en cours et de réouvrir une connexion HTTP pour faire une autre
requête...
[...] je tachais de donner une réponse pour le problème particulier, à savoir rediriger sur une autre page :)
Ben en fait, la réponse était contenue dans la question. Que reproches-tu au juste au « header("Location: ...") » ?
(*) La balise META n'est pas un header HTTP. Cela va peut-être sans dire, mais toujours mieux en le disant.
(*) elle peut être assimilée non?
Je voudrais bien te faire plaisir, mais non, je ne peux pas répondre par l'affirmative. Le header HTTP doit être reconnu par quiconque utilise HTTP pour récupérer des pages web. La balise META, au contraire, dépend de l'application qui aura récupéré la page, cherchera à l'interpréter, puis éventuellement décidera que c'est du HTML et que les caractères '<', 'M', 'E', 'T', 'A', etc., mis bout à bout, ont une signification et que cette signification fait qu'il pourrait être bon de laisser tomber la page en cours et de réouvrir une connexion HTTP pour faire une autre requête...