tags:

views:

150

answers:

3

Hi guys, I need experts to help me solve this problem.

Let me explain:

For a given url, I want to get the name-after-hash's age from the database. so for url like thepage.php#Madonna, you'll see "119!".

How can I extract the value after the hash in a url? (i need a safe all-browser-compatible-NON-JAVASCRIPT way). I want to do that like $_GET['after hash'].

The reason I'm not using GET is because I want to use AJAX and jquery's history plugin.

Basically what i want is to use ajax to retrieve data from the server according to the value assigned after the hash.

Thank you and have a great day!

+2  A: 

Javascript

window.location.hash will give you this value. You can then pass it (via AJAX) to the server for results.

PHP

Check the Fragment of parse_url();

Return Values

On seriously malformed URLs, parse_url() may return FALSE and emit a E_WARNING. Otherwise an associative array is returned, whose components may be (at least one):

  • scheme - e.g. http
  • host
  • port
  • user
  • pass
  • path
  • query - after the question mark ?
  • fragment - after the hashmark #
Jonathan Sampson
IF browser would be so kind to send fragment to You, but it's tricky.
Rafal Ziolkowski
Do you know a php function with which I can extract the ENTIRE url to pass in parse_url($url)?
sombe
And Rafal Ziolkowski, what do you mean "tricky"?
sombe
He means impossible.
troelskn
troelskn: Affirmative
Rafal Ziolkowski
A: 

This question didn't make much sense, you need to clarify it.

You want to hash the URL without Javascript, but in a way that can be used by Ajax?

MindStalker
what?! absolutely not. I want to extract the value AFTER the # in the url.I don't need to clarify my question buddy, you need to clarify your reading.
sombe
+5  A: 

I don't think it's possible. The string after # is interpreted by the browser as an anchor name within the current page. It is not passed to the server.

Paul
Definitely a good point -- the URL fragment of the current page isn't available to PHP. It's unclear if that's relevant to the OP's issue, however. The fragment *is* available to Javascript.
Frank Farmer
Exactly. This can even be used when forging URLs for XXS attacks when you don't want to be detected by server side security components, like IDS.
Wookai