How to get the full URL
including the string parameter after hash tag
? I try to echo
$url = $_SERVER['REQUEST_URI'];
echo $url;
the string after the hash tag
wont read.
How to get the full URL
including the string parameter after hash tag
? I try to echo
$url = $_SERVER['REQUEST_URI'];
echo $url;
the string after the hash tag
wont read.
The hash (the string including the #) never gets passed to the server, it is solely a behavioural property of the browser. The
$_SERVER['REQUEST_URI']
variable will contain the rest however.If you really need to know what the hash is, you will have to use the
document.location.hash
JavaScript
property, which contains the contents of the hash (you could then insert it in a form, or send it to the server with anajax
request).You can pass up the full URL, including the anchor (the part after the #), using aJavascript onload function
that sends thatURL
to anAjax
endpoint.You can also take a look here Get entire URL, including query string and anchor
use
urlencode()
andurldecode()
functionsIn this short example, I will show you how to pass Hash value to the server and make it redirect to the hash value.
Firstly encode the Hash value in the link button
Now to redirect to the link from the server mylink.php
Pekka's comment should be an answer. The string parameter after the hash tag is not sent to the server, it's for the browsers eyes only.
This means that serverside code (PHP, in your case) does not have this info. The clientside code (the browser, javascript, ...) does.
Ideally,
Historically, the part after the # was most often used to have your browser quicky scroll to a defined anchor on the page. Nowadays, it is more often used to hold state information for the client.
You could have javascript send this info to the server, or perform different actions based on this info. AJAX is your friend.