2013-11-08 2 views
-1

Я медленно изучаю PHP через онлайн-курс. Особое упражнение выглядит так:Передача переменных с помощью строки запроса (php)

HTML-страница:

<!DOCTYPE HTML> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Greeting the Beatles</title> 
</head> 
<body> 
    Choose a Beatle to greet. 
    <ul> 
    <li><a href="HelloWho.php?Beatle=Paul">Paul</a></li> 
    <li><a href="HelloWho.php?Beatle=John">John</a></li> 
    <li><a href="HelloWho.php?Beatle=George">George</a></li> 
    <li><a href="HelloWho.php?Beatle=Ringo">Ringo</a></li> 
    </ul> 
</body> 
</html> 

соответствующий PHP страница:

<?php 
$beatle = $_GET['Beatle']; 
?> 
<!DOCTYPE HTML> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Hello <?php echo $beatle ?>!</title> 
</head> 
<body> 
<?php 
    echo "Hello $beatle!"; 
?> 
</body> 
</html> 

Мой код идентичен описанному выше, и все же я получаю страницу говорю, имеют неопределенный индекс в строке 2:

Notice: Undefined index: Greet in /Applications/XAMPP/xamppfiles/htdocs/Webucator/ClassFiles/Webucator/ClassFiles/PHPBasics/Exercises/HelloWho.php on line 2 
World! 

Я понимаю, что это глупый вопрос, но я пока не видели ответа, кроме функции isset(), о которой я еще не узнал.

+1

Не уверен, что я вижу это сообщение об ошибке с тем, что вы вставили для кода. Конечно, ничего не изменилось? Проверка существования с 'isset' - это определенно, как обрабатывается этот тип уведомлений. – ficuscr

+2

Вы уверены, что код именно тот, который вы вставили? Сообщение об ошибке говорит иначе –

+0

Возможно, вы видите неправильный файл ... – periklis

ответ

0

Код, который вы опубликовали, работает правильно и не дает сообщение об ошибке, которое вы опубликовали.

Чтение того, что говорит ошибка, может легко устранить вашу проблему. Он говорит, что существует неопределенный индекс «Greet» на линии 2.

Убедитесь, что в вашей копии вы имеете ту же линию 2 в качестве рабочей версии

$beatle = $_GET['Beatle']; 

Если присмотреться, как это работает, увидеть URL, что вы передаете данные в это

HelloWho.php?Beatle=NameGoesHere 

файл PhP может получить данные из

?Beatle= 

Используя

$_GET['Beatle'] 

и хранить его в переменной, как это имеет в строке два

$beatle = $_GET['Beatle']; 

Кроме того, я знаю, что вы сказали, что еще предстоит узнать, но вы можете использовать Исеть() для проверьте, существует ли строка

if (isset($_GET['Beatle'])) { 
    $beatle = $_GET['Beatle']; 
    echo "Hello $beatle!"; 
} 
Смежные вопросы