Re : Changement de page sur formulaire valide
Le
jeremie.fouche
Le 10/01/2005 21:36, Olivier Miakinen a écrit :
>>
>> [] dans la doc, il y a un magnifique exemple :
>> header( "Location: http://".$_SERVER['HTTP_HOST']
>> ."/".dirname($_SERVER['PHP_SELF'])
>> ."/".$relative_url );
>>
>> Le probleme de cet exemple, c'est que pour un developpement en
local,
>> j'obtiens un header de la sorte :
>> "Location: http://localhost//site/rep/mon_url.php"
>>
>> Et cette url n'est pas valide !
> Pour quelle raison n'est-elle pas valide ? Parce que ton adresse locale
> ne s'appelle pas localhost, ou bien à cause du double / entre localhost
> et le reste du chemin d'accès ?
C'est le double slash qui me gene. En effet, sur Firefox, il va
chercher sur google Adresse invalide implique recherche dans
google du contenu de l'adresse !
> dans le second, essayer ceci :
> header( "Location: http://".$_SERVER['HTTP_HOST']
> .dirname($_SERVER['PHP_SELF'])."/".$relative_url );
Bien sûr, cela me regle le probleme en local, mais la question que je
me pose, c'est quand je vais devoir deployer chez un hebergeur, cette
entete sera t elle toujours valide ? c'est a dire HTTP_HOST ne doit
pas se terminer par slash, et PHP_SELF ne doit pas débuter par slash.
Sinon, il y a bien la solution de transformer un '//' en '/'.
> Une autre idée pour avancer : chercher dans le phpinfo() ce qui
> ressemble à un début d'adresse valide : HTTP_HOST, mais peut-être
> aussi SERVER_NAME, ou autre chose.
Et voila, faisez confiance a une doc
Merci pour ces pistes, je vais voir.
--
Jérémie
>>
>> [] dans la doc, il y a un magnifique exemple :
>> header( "Location: http://".$_SERVER['HTTP_HOST']
>> ."/".dirname($_SERVER['PHP_SELF'])
>> ."/".$relative_url );
>>
>> Le probleme de cet exemple, c'est que pour un developpement en
local,
>> j'obtiens un header de la sorte :
>> "Location: http://localhost//site/rep/mon_url.php"
>>
>> Et cette url n'est pas valide !
> Pour quelle raison n'est-elle pas valide ? Parce que ton adresse locale
> ne s'appelle pas localhost, ou bien à cause du double / entre localhost
> et le reste du chemin d'accès ?
C'est le double slash qui me gene. En effet, sur Firefox, il va
chercher sur google Adresse invalide implique recherche dans
google du contenu de l'adresse !
> dans le second, essayer ceci :
> header( "Location: http://".$_SERVER['HTTP_HOST']
> .dirname($_SERVER['PHP_SELF'])."/".$relative_url );
Bien sûr, cela me regle le probleme en local, mais la question que je
me pose, c'est quand je vais devoir deployer chez un hebergeur, cette
entete sera t elle toujours valide ? c'est a dire HTTP_HOST ne doit
pas se terminer par slash, et PHP_SELF ne doit pas débuter par slash.
Sinon, il y a bien la solution de transformer un '//' en '/'.
> Une autre idée pour avancer : chercher dans le phpinfo() ce qui
> ressemble à un début d'adresse valide : HTTP_HOST, mais peut-être
> aussi SERVER_NAME, ou autre chose.
Et voila, faisez confiance a une doc
Merci pour ces pistes, je vais voir.
--
Jérémie

Poser une question


Ok. Mais voir la toute fin de mon article.
Il n'y a pas de raison que cela ne marche pas.
En effet.
Ben si, sinon ce serait un chemin relatif, or c'est censé être un chemin
absolu.
D'un autre côté, je ne vois pas en quoi le '//' rend le chemin invalide.
En tout cas, cela marche chez moi, aussi bien en local que chez mon
hébergeur, que j'utilise Mozilla ou Internet Explorer.
Est-ce que pour toi le 2nd lien fonctionne moins bien que le 1er ?
Bon, tu posais une question, j'y ai répondu. Mais je m'attendais bien à
ce que John Gallet te réponde aussi : va plutôt lire sa réponse, elle
est beaucoup plus intelligente que l'idée de refaire une requête HTTP.