8
votes

PHP & HASH / Portion de fragment de l'URL

J'essaie de trouver un moyen de sauvegarder la partie Hash d'une URL et de variable PHP. Cette idée est un peu kooky, mais porte avec moi ...

J'aimerais extraire le fragment "Emplacement" de l'URL suivante et enregistrez-la sous forme de variable PHP. P>

http://www.example.com/#location


3 commentaires

Vous pouvez changer le fragment en une valeur de $ _GET?


Nope, tu ne peux pas. Voir ma réponse


Voici une solution utilisant JavaScript et un champ d'entrée caché Stackoverflow.com/questions/940905/...


5 Réponses :


0
votes

Vous pouvez envoyer un fragment de hasch via AJAX au script PHP et effectuer une actualisation immédiate (rechargement de la page)


0 commentaires

5
votes

4 commentaires

Merci pour les réponses! Je sais que le fragment n'est jamais envoyé au serveur. Ce que je propose est un "pseudo fragment" ou "double fragment" comme exemple.com/fragment/ #fragment Le premier fragment serait interprété par PHP, puis supprimé par mod_rewrite, rendant l'URL comme exemple.com/#fragment Peut-être que cette approche n'a aucun sens; Je ne suis pas sûr si ça fait, d'où ma question ...


Si vous souhaitez envoyer la personne à l'exemple.com/#fragment, vous les envoyez à Exemple.com/fragagement, puis PHP pourrait les transmettre à Exemple.com/#Fragement.


Super idée de transférer l'utilisateur à partir de "exemple.com/fragment" à "exemple.com/#fragment". Je vais utiliser un cookie pour enregistrer le fragment, puis transmettre la page à elle-même. Quelque chose comme ça pourrait fonctionner: Exemple: Link: exemple.com/test.php?fragment= Turquie $ fragment = $ _GET ["fragment"]; Si (Isset ($ fragment)) {Setcookie ("Testcookie", "Testcookie", Time () + 3600); Header ("Emplacement: exemple.com/test.php/# ​​etfragment");} // fait des choses supplémentaires basées sur le cookie


Vous vous retrouveriez avec 2 entrées dans la pile d'historique :( et pire, le premier fait toujours référence à la seconde afin que votre navigation de votre bouton arrière soit gênante.



9
votes

Vous devrez utiliser JavaScript pour lire ceci. Il existe quelques options différentes - lors de la charge de la page, vous pouvez utiliser une liste XMLHTTPQUEST (demande AJAX) pour indiquer au serveur quels sont les paramètres d'URL supplémentaires. Alternatley, vous pouvez vérifier si vous y trouverez des paramètres supplémentaires (également via JavaScript), et si vous en trouvez une autre adresse à une autre URL qui contient ces paramètres encodés dans l'URL elle-même.


0 commentaires

0
votes

Une fois que vous avez envoyé les valeurs au serveur via AJAX. Vous pouvez définir les valeurs de fragment en session. Lorsque vous actualisez la page, vous pouvez obtenir le fragment défini dans la session et le processus, puis affichez le contenu correspondant. Parce que nous ne pouvons pas obtenir les valeurs de fragment via php_self / query_string et etc. Nous avons besoin de cela pour augmenter la vitesse de notre page Web comme Gmail.


0 commentaires