Почему не передаются данные в переменные методом GET?

Рейтинг: 0Ответов: 2Опубликовано: 30.09.2014

http://localhost/php/test.php?a=77&b=10

В документе прописано:

<?php 
    echo $a;
    $c=$a+$b;
    echo"<br>Сумма переменных переданную через адресную строку: $c";
?>

А вывод на экран такой:

Сумма переменных переданных через адресную строку: 0

Ответы

▲ 3

Вы, наверное, нашли этот пример в какой-нибудь старой книге или руководстве.

Раньше в PHP возможно было использовать так называемое "регистрирование переменных EGPCS (Environment, GET, POST, Cookie, Server) в качестве глобальных переменных". Однако это порождало ужасные дыры в безопасности, и начиная с PHP 4.2.0 опцию Register_Globals, которая позволяла так писать, отключили. В версии PHP 5.3.0 она была помечена УСТАРЕВШЕЙ и УДАЛЕНА в PHP 5.4.0.

Подробнее можете почитать тут: Использование глобальных переменных (Register_Globals)

Используйте стандартные массивы $_GET, $_POST и $_REQUEST для получения данных.

▲ 2

Принимаемые переменные методом GET имеют вид $_GET["name"], то есть в вашем случае echo $_GET["a"]; выведет 77, дальше, думаю, сами...