Discussion:
fonction header
(trop ancien pour répondre)
mb
2011-05-21 22:57:13 UTC
Permalink
Bonjour ,

un problème avec la fonction header
MAMP ( non pro ) php 5.2.13

( je n'ai pas trouvé de forum mamp sauf des forum web )

un appel à header sous la forme

header("Location: http://localhost:8888/compteur/outcmpt.html");

comme il est indiqué dans
http://php.net/manual/fr/function.header.php

donne ceci

The requested URL
/compteur/ http://localhost:8888/compteur/outcmpt.html was not found on
this server.

et dans la barre d'adresse ceci
http://localhost:8888/compteur/%C2%A0http://localhost:8888/compteur/outcm
pt.html

2 questions se posent
d'où sort ce A-circonflexe ( C2 ) suivi d'un nbsp ( A0 ) ?

et pourquoi le host est (semble-t-il) écrit par le serveur alors
qu'il faut donner l'adresse complète y compris le host ?


bien sûr ( j'ai vérifié ) pas de carctère avant header même pas de bom

j'ai essayé des adresses absolues relatives ....
rien n'y fait

merci pour toute indication
--
mb
Olivier Miakinen
2011-05-21 23:14:53 UTC
Permalink
header("Location: http://localhost:8888/compteur/outcmpt.html");
donne ceci
The requested URL
/compteur/Â http://localhost:8888/compteur/outcmpt.html was not found on
this server.
et dans la barre d'adresse ceci
http://localhost:8888/compteur/%C2%A0http://localhost:8888/compteur/outcm
pt.html
Je parie que :

1) la page appelante est de la forme :
http://localhost:8888/compteur/quelque-chose

2) cette page est en UTF-8

3) tu as une espace insécable (C2 A0) à la place d'une espace simple
entre « Location: » et « http://... » dans l'appel à header()
2 questions se posent
d'où sort ce A-circonflexe ( C2 ) suivi d'un nbsp ( A0 ) ?
Si la page est en UTF-8, c'est un nbsp seul.
et pourquoi le host est (semble-t-il) écrit par le serveur alors
qu'il faut donner l'adresse complète y compris le host ?
Parce que, contrairement à ce que demande la norme, les navigateurs
acceptent souvent les url relatives au lieu des url absolues.
bien sûr ( j'ai vérifié ) pas de caractère avant header même pas de bom
L'erreur n'aurait pas été la même. Vérifie plutôt la chaîne passée à la
fonction header().
j'ai essayé des adresses absolues relatives ....
rien n'y fait
Sauf que justement ton adresse que tu crois absolue doit être considérée
comme une adresse relative du fait qu'elle commence par autre chose que
http://...
merci pour toute indication
Cordialement,
--
Olivier Miakinen
mb
2011-05-22 21:18:56 UTC
Permalink
Post by Olivier Miakinen
header("Location: http://localhost:8888/compteur/outcmpt.html");
donne ceci
The requested URL
/compteur/Â http://localhost:8888/compteur/outcmpt.html was not found on
this server.
et dans la barre d'adresse ceci
http://localhost:8888/compteur/%C2%A0http://localhost:8888/compteur/outcm
pt.html
http://localhost:8888/compteur/quelque-chose
2) cette page est en UTF-8
3) tu as une espace insécable (C2 A0) à la place d'une espace simple
entre « Location: » et « http://... » dans l'appel à header()
2 questions se posent
d'où sort ce A-circonflexe ( C2 ) suivi d'un nbsp ( A0 ) ?
Si la page est en UTF-8, c'est un nbsp seul.
c'est ça ! je n'y est pas fait attention mais le site php.net/manual/fr/
met un nbsp au lieu d'un blanc ( probablement pour la présentation ) ,
comme quoi le Copier-Coller ne fait pas forcément gagner du temps

le remplacement de nbsp ( C2A0 ) par blanc , ou sa suppression
donne les 2 , le résultat
Post by Olivier Miakinen
et pourquoi le host est (semble-t-il) écrit par le serveur alors
qu'il faut donner l'adresse complète y compris le host ?
Parce que, contrairement à ce que demande la norme, les navigateurs
acceptent souvent les url relatives au lieu des url absolues.
merci beaucoup
--
mb
Continuer la lecture sur narkive:
Loading...