来自表单未定义数组错误的PHP$_GET



我目前正在从最基本的开始学习PHP,并开始关注一个2年前的youtube视频。我正试图根据他的代码制作一个简单的php计算器,但我遇到了一个错误,尽管我复制了100%的示例代码,我猜这是由于版本差异。可以做些什么来解决这个问题,错误代码说未定义数组,这是否意味着我只需要预先定义变量?我该怎么做呢。

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<form action="site.php" method="get">
<input type="number" name="num1">
<br>
<input type="number" name="num2">
<br>
<input type="submit">
</form>
Answer: <?php echo $_GET["num1"] + $_GET["num2"] ?>
</body>
</html>

说明:

在过去(旧的php版本(,没有必要定义/声明变量。这种情况已经改变,现在您将收到警告/通知。

如果您第一次调用页面,变量num1和num2没有定义,这将导致该警告。只有当您输入它们并发送表单时,它们才会有值。

因此,如果变量为空,则插入一个条件,并且只有当变量不为空时,才进行计算并打印。

表示非

isset((检查变量是否存在。https://www.php.net/manual/de/function.isset(空是一种错误的方法,因为0是一个有效的条目,正如一位评论者所指出的那样(

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<form action="site.php" method="get">
<input type="number" name="num1">
<br>
<input type="number" name="num2">
<br>
<input type="submit">
</form>
Answer: <?php 
if ((!isset($_GET["num1"]) && (!isset($_GET["num1"])){ 
echo $_GET["num1"] + $_GET["num2"]; 
}
?>
</body>
</html>

相关内容

  • 没有找到相关文章

最新更新