【问题标题】:Passing Variables via Query String (php)通过查询字符串 (php) 传递变量
【发布时间】:2013-11-08 20:34:35
【问题描述】:

我正在通过在线课程慢慢学习 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() 函数。

【问题讨论】:

  • 不确定我是否看到该错误消息与您粘贴的代码内容有关。确定什么都没有改变?使用isset 检查存在肯定是处理此类通知的方式。
  • 您确定该代码与您粘贴的代码完全相同吗?错误信息另有说明
  • 可能你访问了错误的文件...
  • 不明白为什么那行不通。粘贴您的代码。
  • 代码没问题。它必须是其他文件。在您的代码中,您有 Beatle 但错误的是 Greet 未定义索引

标签: php arrays variables


【解决方案1】:

您发布的代码确实可以正常工作,并且没有给出您发布的错误。

阅读错误内容可以轻松解决您的问题。它说第 2 行有一个未定义的索引“Greet”。

确保您的副本中的第 2 行与工作版本相同

$beatle = $_GET['Beatle'];

如果你仔细看看它是如何工作的,你会看到你传递数据的 url 是

HelloWho.php?Beatle=NameGoesHere

PhP 文件能够从

获取数据
?Beatle=

通过使用

$_GET['Beatle']

并将其存储在第二行中的变量中

$beatle = $_GET['Beatle'];

另外,我知道你说你还没有学过,但是你可以使用 isset() 来检查字符串是否存在

if (isset($_GET['Beatle'])) {
    $beatle = $_GET['Beatle'];
    echo "Hello $beatle!";
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-07
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 2017-11-15
    • 2012-06-25
    相关资源
    最近更新 更多