Отправка информации через URL с помощью $ _GET не работает - PullRequest
1 голос
/ 21 января 2012

Так что я пытаюсь сделать что-то чрезвычайно простое, и после прочтения форумов и исследования в Google я все еще не могу понять, почему это не работает.Но это в основном так, потому что я все еще очень начинающий программист.Я пытаюсь отправить информацию через URL-адрес, и сценарий забирает ее с помощью суперглобального $ _GET.

Вот код ссылки в файле с именем TESTFORM.php:

<p>
Here's a link:
<a href = "TESTGET.php?id = 5">ID</a>
</p>

Это скрипт TESTGET.php:

<?php
    if (isset($_GET['id']))
        echo 'it is set<br />';
    else
        echo 'it is not set<br />';
?>

Это приводит к появлению на странице "Оно не установлено" каждый раз.Какие-нибудь мысли?Есть ли на моем компьютере призраки, разрушающие мой код?Спасибо, что нашли время, чтобы прочитать это!Удачного кодирования!

Ответы [ 4 ]

7 голосов
/ 21 января 2012

Я не программист PHP, но из HTML я знаю, что компьютеры (особенно имена файлов) не "любят" пробелы.Попробуйте удалить пробелы в коде id = 5.

2 голосов
/ 21 января 2012

Ваша проблема - лишнее пространство вокруг параметров URL:

<a href = "TESTGET.php?id = 5">ID</a>

Это приведет к тому, что PHP увидит параметр как $_GET["id_"]. Пространство преобразуется в подчеркивание.

Всегда лучше использовать var_dump($_GET); или var_dump($_REQUEST), когда вы сталкиваетесь с такими проблемами. Во-вторых, иногда полезно избавиться от isset в таких случаях. Хотя у вас есть специальное сообщение об ошибке вместо языковых уведомлений, предназначенных именно для этого.

1 голос
/ 21 января 2012

Код выглядит на первый взгляд нормально, вы пытались удалить пробелы в ?id = 5 до ?id=5

1 голос
/ 21 января 2012

Вы пытались удалить пробелы в вашей ссылке?

<a href="TESTGET.php?id=5">ID</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...