Abouter une variable à une url pour la récupérer dans la page appelée
Le
Le Retour

Bonjour,
Je me suis arraché les yeux à chercher un script php qui me récupère une URL
du type monsite/dossier/auboulot.php#mavariable , sans succès: aucune
fonction php ne me récupère le dièse, ni bien sûr ce qui le suit.
Existerait-il un javascript qui me permettrait d'abouter ma variable à l'URL
d'une manière qui la rende récupérable à l'arrivée, en php ou en javascript,
genre monsite/dossier/auboulot.php?id=mavariable , ou autre?
Merci d'avance pour le coup de main.
Thierry
Je me suis arraché les yeux à chercher un script php qui me récupère une URL
du type monsite/dossier/auboulot.php#mavariable , sans succès: aucune
fonction php ne me récupère le dièse, ni bien sûr ce qui le suit.
Existerait-il un javascript qui me permettrait d'abouter ma variable à l'URL
d'une manière qui la rende récupérable à l'arrivée, en php ou en javascript,
genre monsite/dossier/auboulot.php?id=mavariable , ou autre?
Merci d'avance pour le coup de main.
Thierry
Peut-être en utilisant monsite/dossier/auboulot.php?mavariable ?
db
Côté javacript, c'est contenu dans window.location.hash
--
Y.D.
Vous retrouverez l'URL dans les variables d'environnement... De mémoire
je pense que Path_info devrait faire l'affaire.
A ma grande surprise, effectivement, je n'ai pas non plus trouvé le
moyen ???
<hs>
Perso, je pencherais plutôt pour une rewriteRule Apache.
</hs>
en php on ne peut lire/récupérer l'url ?
et de là la spliter sur le # ?
Le JS pourrait le faire et pas le PHP ?
(avec ses 3172 fonctions le PHP ne peut vraiment pas ?)
<?
var $mavariable = split('#', $REQUEST_URI)[1];
?>
ne marche pas ? trop simple ?
<head>
<script type="text/javascript">
vieilUrl = self.location.toString();
if(vieilUrl.indexOf('#')>0) {
nvelleUrl = vieilUrl.replace('#','?id=');
self.location = nvelleUrl;
}
</script>
--
sm
Impossible surtout. L'information n'est pas fournie par le client au
serveur. Regarde tes access_log pour t'en convaincre, ça m'a aussi
surpris ^^;
--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Ça me semble tout à fait logique. Le # est une instruction pour le
navigateur de se placer à tel ou tel endroit dans la page. Comme il ne
change strictement rien à l'adresse de la page demandée au serveur, il
ne doit pas lui être transmis.
Ça m'étonnerait bien qu'Apache ait reçu un quelconque #.
Ah, merci de la confirmation.
Pas moi. ;-)
Oh! moi, perso, je n'y comprends rien en PHP ...
néanmoins ça me parait curieux cette histoire.
Pour Olivier :
C'est bien vrai ce phénomène de '#' non transmis ?
Pourtant il faut bien finalement envoyer la page à la bonne ancre, non ?
Alors ... hors JS pas de salut ?
--
sm
Ça n'a rien à voir avec PHP, mais tout à voir avec HTTP en fait.
Ben c'est le client qui aligne la vue du document sur le bon identifiant.
Non.
--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org