> My understanding is that when passing a querystring to PHP via the URL
> with the GET method, PHP will automatically create a variable with the
> name and value from the querystring.  I'm trying to do this and it's
> not working.

Yes, if you have:

  example.com/foo.php?id=33

In the old days, people used to rely on register_globals 
($id to exist) but times have recently changed, people are 
encouraged to move away from this potential security gotcha.
Some options within foo.php are:

  // As of PHP 3 (forever)*
  print $HTTP_GET_VARS['id'];

  // As of PHP 4.1.0 (superglobals)
  print $_GET['id'];
  print $_REQUEST['id'];

  // As of PHP 4.1.0, see also extract()
  import_request_variables('gpc', 'r_');
  print $r_id;

  // If you have the PHP directive register_globals 
  // enabled.  This defaults to off as of 4.2.0.
  print $id;


Many options, choose for your needs.  Read more here:

  http://www.php.net/manual/en/language.variables.predefined.php

> Everything here works - I've already loaded the $myrow with the
> appropriate data and so this printf builds a URL with a valid '?id='
> querystring.
> 
> But when I click on the URL, the variable is not created.  I've tried
> renaming the variable, querying $HTTP_GET_VARS to see what's coming
> in, and looking at all available online documentation, but nothing
> helpful.  There doesn't seem to be anything in php.ini I need to set
> to enable this functionality.

A simple way to test what information is available is to 
use phpinfo() or simply print_r($_GET) for GET.  Regarding 
your specific question, see the above words and:

  http://www.php.net/manual/en/security.registerglobals.php

Regards,
Philip Olson

* Assumes the PHP directive track_vars = on, which it always 
  is past 4.0.2.


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to