可能重复:
PHP:“注意:未定义的变量”和“注意:未定义的索引”</a>
第一次在这里提问。我正在尝试创建一个小型原始论坛。我基于此:同时在需要的地方对其进行更改。
到目前为止,我已经设置了数据库和所有这些。现在我正在尝试修复 view_topic.php 并且它正在返回"Notice: Undefined index: id" on line 30 something.
This is line 30: $id=$_GET['id']
;
可能重复:
PHP:“注意:未定义的变量”和“注意:未定义的索引”</a>
第一次在这里提问。我正在尝试创建一个小型原始论坛。我基于此:同时在需要的地方对其进行更改。
到目前为止,我已经设置了数据库和所有这些。现在我正在尝试修复 view_topic.php 并且它正在返回"Notice: Undefined index: id" on line 30 something.
This is line 30: $id=$_GET['id']
;
在访问它之前,您应该确保id
它是一个有效的索引。
$id = isset($_GET['id']) ? $_GET['id'] : null;
注意:未定义的索引:
这意味着一段代码试图访问一个不存在的数组元素。
因此,例如:
$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
然后使用诸如isset
or之类的函数array_key_exists
和if
语句让您的代码决定在缺少该值的情况下该怎么做。
如果您的代码在没有有效值的情况下无法继续,您很可能会显示更有用的错误消息并终止脚本id
。
你确定id=
存在于 URL 中吗?尝试在代码顶部附近添加以下内容。
var_dump($_GET);
var_dump将有关变量的信息转储到屏幕上。在这种情况下,它将显示GET
从您的表单发送的所有数据。这是一种调试技术,因此您可以查看您的代码是否收到了您所期望的。如果表单使用method="post"
并且id
是表单中的一个字段,那么您将需要使用$_POST['id']
或$_REQUEST['id']
访问它。