Version complète: sur le forum Webmaster Hub : Comment savoir s'il y a une ancre dans l'url ?
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
MarvinLeRouge
Salut,

Je cherche à analyser l'url ayant servie à accéder à une page afin de savoir s'il y a dedans un #nomDuneAncre à la fin.
Et j'ai beau fouiller dans $_SERVER et consorts, je ne vois nulle part de #, même si j'en tape moi même dans l'url.

Quelqu'un saurait comment récupérer ça, svp ?
Phobos
Salut, l'ancre à mon avis est gérée par le navigateur, ton serveur n'est donc pas mis au courant wink.gif
kazhar
en javascript, ca doit l'etre.
mais, en php, non, ca ne l'est pas.

la raison est simple, l'ancre n'est pas transmise au serveur, il n'en a pas besoin, c'est le navigateur qui se positionne dessus tout seul.
MarvinLeRouge
Mer...credi
En fait, j'ai une page d'aide dans une application, et je souhaitais qu'elle se positionne toute seule au bon endroit suivant la page appelante.
Il suffirait donc (du moins je le croyais) de :
- vérifier s'il y avait un dièse dans l'url
- si non, vérifier le referer, et mettre un header pour renvoyer sur la même page, mais avec un #truc derrière
- si oui, laisser passer

Pb : le # n'étant pas transmis, ça ne marche plus du tout. Comment faire ?
sarc
Marvin, il n'y a pas possibilité de mettre le dièse dans le lien de la page appelante directement ? C'est ce que je fais pour l'aide de mon jeu, sur chaque page je mets directement l'ancre...
Encore mieux, tu crées une fonction qui te fera ça !

CODE
function aide($ancre)
{
echo "<a href='aide.php#$ancre'>Voir aide : $ancre</a>";
}


Comme ça dans ton code, tu n'as plus qu'à mettre
aide("commencer la partie");
..

Tu peux pas faire comme ça ?
MarvinLeRouge
J'avais pensé à cette option. Mais je préférais quand même l'option "c'est la page d'aide qui voit toute seule quoi faire".

Bon ben je vais me rabattre sur une ancre indiquée dans la page appelante.

Merci
ste
CITATION(MarvinLeRouge @ samedi 14 janvier 2006, 23h35)
Salut,

Je cherche à analyser l'url ayant servie à accéder à une page afin de savoir s'il y a dedans un #nomDuneAncre à la fin.
Et j'ai beau fouiller dans $_SERVER et consorts, je ne vois nulle part de #, même si j'en tape moi même dans l'url.

Quelqu'un saurait comment récupérer ça, svp ?


regarde du côté de la function parse_url en php !
MarvinLeRouge
Ben ouais, mais ça le parse seulement. Etant donné que le # n'est pas transmis au serveur, ce n'est pas utilisable dans mon cas. Snifff sad.gif

Merci
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.