发布网友 发布时间:2022-05-01 09:25
共3个回答
热心网友 时间:2023-10-10 06:46
php提示Notice: Undefined index问题,Undefined index:是指你的代码里存在:“变量还未定义、赋值就使用”的错误,这个不是致命错误,不会让php代码运行强行中止,但是有潜在的出问题的危险。
在读数据时出现:
Notice: Undefined index: name in ......
Notice: Undefined index: key in......
源码如下:
$name = isset($_POST['name']) ? filter_input(INPUT_POST, 'name', FILTER_SANITIZE_SPECIAL_CHARS) :htmlspecialchars($_GET['name']);
$key = isset($_POST['key']) ? filter_input(INPUT_POST,'key',FILTER_SANITIZE_SPECIAL_CHARS):htmlspecialchars($_GET['key']);
问题分析:
Undefined index:是指你的代码里存在:“变量还未定义、赋值就使用”的错误,这个不是致命错误,不会让php代码运行强行中止,但是有潜在的出问题的危险,因此需要修改
解决方法:
用php.ini中error_reporting = E_ALL & ~E_NOTICE 可以关闭notice的显示,屏蔽掉此类警告好,不过,建议还是改代码更好一点,代码总是写的规范一点好,将来可以少出问题啊。
问题原因:是因为你只检查$_POST是否存在,却没检查$_GET的存在 。
扩展资料:
解决方法:
修改为下面所示即可:
$name = isset($_POST['name']) ? filter_input(INPUT_POST,'name',FILTER_SANITIZE_SPECIAL_CHARS) : isset($_GET['name']) ? filter_input(INPUT_POST,'name',FILTER_SANITIZE_SPECIAL_CHARS) : '';
$key = isset($_POST['key']) ? filter_input(INPUT_POST,'key',FILTER_SANITIZE_SPECIAL_CHARS) : isset($_GET['key']) ? filter_input(INPUT_POST,'key',FILTER_SANITIZE_SPECIAL_CHARS) : '';
参考资料来源来源:百度百科-php数组
热心网友 时间:2023-10-10 06:47
1、Notice的产生原因,使用了未定义的变量或者数组索引。
2、例如,访问未定义的变量。
3、保存,在浏览器执行,会报Notice错误。
4、关闭Notice报错提示的方法:在脚本中设置错误报告级别error_reporting(E_ALL^E_NOTICE);语句解释:报告除了Notice以外的其他所有错误。
5、通过在脚本中设置了错误报告级别,再次访问的时候,该脚本的Notice级别就被排除在外了,其他级别的报错仍有效。
热心网友 时间:2023-10-10 06:47
这不是报错,而是一个警告,你可以再使用数组下标前线判断一下: