我正在通过在线课程慢慢学习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()函数,我还没有学到它。
答案 0 :(得分:0)
您发布的代码确实可以正常运行,并且不会提供您发布的错误。
阅读错误说明可以轻松解决您的问题。它说第2行有一个未定义的索引“Greet”。
确保您副本中的第2行与工作版本
相同$beatle = $_GET['Beatle'];
如果你仔细研究它是如何工作的,你会看到你传递数据的网址是
HelloWho.php?Beatle=NameGoesHere
PhP文件能够从
获取数据?Beatle=
使用
$_GET['Beatle']
并将其存储在第二行中的变量中
$beatle = $_GET['Beatle'];
此外,我知道你说你还没有学习它,但你可以使用isset()检查字符串是否存在
if (isset($_GET['Beatle'])) {
$beatle = $_GET['Beatle'];
echo "Hello $beatle!";
}