Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

$_GET is empty when the url has variables

I have a url that look like this reg.php?lang=no_NO&passkey=testand im trying to get the passkey variable, but it keeps showing up blank.

When I try print_r($_GET); it prints Array ( ) ?! How can this happen?

The site look something like this

    <?php

        print_r($_GET); 

        include('..\libs\Smarty.class.php');
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Activate account</title>

(...html code.. )

$smarty = new Smarty;

//$smarty->force_compile = true;
$smarty->debugging = false;
$smarty->caching = false;
$smarty->cache_lifetime = 120;


// PHP gettext api
define('PROJECT_DIR', realpath('./'));

(... define gettext ... )

$passkey=$_GET['passkey'];

(...work with passkey ...)

$smarty->display('templates\site.tpl');

?>


</body>
</html>

thats it. I can't understand why $_GET shows up blank. It's been driving me crazy for a while now..

like image 840
ganjan Avatar asked Aug 11 '10 23:08

ganjan


People also ask

What is $_ GET variable?

PHP $_GET is a PHP super global variable which is used to collect form data after submitting an HTML form with method="get". $_GET can also collect data sent in the URL.

How do I check if a given variable is empty?

The empty() function checks whether a variable is empty or not. This function returns false if the variable exists and is not empty, otherwise it returns true. The following values evaluates to empty: 0.

Is $_ GET A function?

$_GET is not a function, it's an associative array.


1 Answers

When I run into something that stumps me like this, I always take my script right down to basics. Try this at the very top of your script:

var_dump($_GET);
exit;

Then you can see if in fact it is getting the vars from the hook. If not, then there may be something deeper... like is PHP really running with Apache? If it works, start adding in other things until it stops again and you can start narrowing down the culprit.

like image 190
Chuck Burgess Avatar answered Nov 03 '22 22:11

Chuck Burgess