У меня есть URL-адрес, который выглядит так: reg.php?lang=no_NO&passkey=test
и им пытаются получить переменную passkey, но она продолжает показывать пустую.
Когда я попробую print_r($_GET);
он печатает Array ()
?! Как это может произойти?
Внешний вид сайта что-то вроде этого
<?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>
это так. Я не понимаю, почему $ _GET отображается пустым. Это заставляло меня сходить с ума на некоторое время.
Вы используете любой тип перезаписи url или reg.php фактический файл? – darma
Вы случайно используете CodeIgniter или другую структуру? Иногда они топают по переменным $ _REQUEST. –
@darma: даже если reg.php является реальным файлом - mod_rewrite может потерять строку запроса, если она была написана неправильно – zerkms