tags:

views:

60

answers:

3

Hi there, Using Php I would like to extract the current Url of a page including all variables attached to it. $_SERVER['PHP_SELF'] only return the url without the variable . any idea what function I need.

example : www.site.com/?v1=xyz&v2=123

using $_SERVER['PHP_SELF'] I get only : www.site.com as opposed to the whole url. using $_GET[] individually is not an opton since I am not sure what variable are attached to the URL.

thank you

A: 

Use $_SERVER['QUERY_STRING'] to retrieve the variables part.

Cheers

lunohodov
A: 
$request = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].$_SERVER['QUERY_STRING'];

For the entire path and Query strings.

JonnyLitt
+2  A: 

You could output the content of the $_SERVER super-global variable : there are many interesting things in there ;-)


For example, calling a page with an URL like this :

http://localhost/temp/temp.php?a=10&b=glop

And using :

var_dump($_SERVER);

I get at least :

array
  ...
  'HTTP_HOST' => string 'localhost' (length=9)
  ...
  'REQUEST_METHOD' => string 'GET' (length=3)
  'QUERY_STRING' => string 'a=10&b=glop' (length=11)
  'REQUEST_URI' => string '/temp/temp.php?a=10&b=glop' (length=26)
  'SCRIPT_NAME' => string '/temp/temp.php' (length=14)
  'PHP_SELF' => string '/temp/temp.php' (length=14)
  'REQUEST_TIME' => int 1270060299


In there, I suppose at least those could interest you :

  • $_SERVER['QUERY_STRING'] : contains the whole query string ; i.e. the list of all parameters and their values
  • $_SERVER['REQUEST_URI'] : contains the requested URI -- including the parameters
Pascal MARTIN