1

可能重复:
PHP:“注意:未定义的变量”和“注意:未定义的索引”</a>

第一次在这里提问。我正在尝试创建一个小型原始论坛。我基于:同时在需要的地方对其进行更改。

到目前为止,我已经设置了数据库和所有这些。现在我正在尝试修复 view_topic.php 并且它正在返回"Notice: Undefined index: id" on line 30 something. This is line 30: $id=$_GET['id'];

4

3 回答 3

2

在访问它之前,您应该确保id它是一个有效的索引。

$id = isset($_GET['id']) ? $_GET['id'] : null;
于 2012-12-01T18:43:08.140 回答
1

注意:未定义的索引:

这意味着一段代码试图访问一个不存在的数组元素。

因此,例如:

$myArray = Array();  // an empty array
echo $myArray['id']; // print 'id' element

// ^^ Oops! No such element yet!

$_GET数组包含来自querystring的参数,它是?id=1您的请求 URL 的一部分。

您将需要找出为什么它不包含 URL 中提供的带有 key 的元素'id'id然后使用诸如issetor之类的函数array_key_existsif语句让您的代码决定在缺少该值的情况下该怎么做。

如果您的代码在没有有效值的情况下无法继续,您很可能会显示更有用的错误消息并终止脚本id

于 2012-12-01T18:47:01.283 回答
0

你确定id=存在于 URL 中吗?尝试在代码顶部附近添加以下内容。

var_dump($_GET);

var_dump将有关变量的信息转储到屏幕上。在这种情况下,它将显示GET从您的表单发送的所有数据。这是一种调试技术,因此您可以查看您的代码是否收到了您所期望的。如果表单使用method="post"并且id是表单中的一个字段,那么您将需要使用$_POST['id']$_REQUEST['id']访问它。

于 2012-12-01T20:11:51.413 回答