新闻动态
新闻动态
NEWS INFORMATION

php提示notice:Undefinedindex解决方法

发布日期:2022-07-27 10:20 | 文章来源:IDC圈

  【小编提示】本文收集整理于互联网,仅作参考!如需咨询“php提示notice:Undefinedindex解决方法”等有关服务器、云主机租用、托管、配置、价格问题,请咨询YINGSOO客服,获取专业解答!

  【主机活动】DDOS云防护 | IPLC国际专线 | 香港物理服务器特价

  【常见问题】英国云主机这么便宜,它好用吗?

php提示notice:Undefinedindex解决方法

  php提示notice:Undefinedindex问题,Undefinedindex:是指你的代码里存在:“变量还未定义、赋值就使用”的错误,这个不是致命错误,不会让你的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) : '';

  首先,这个不是错误,是warning。所以如果服务器不能改,每个变量使用前应当先定义。

  方法1:服务器配置修改 修改php.ini配置文件,error_reporting = e_ALL & ~e_notice

  方法2:对变量进行初始化,规范书写(比较烦琐,因为有大量的变量)。但还没有找到好定义方法,望大家指教

  方法3:每个文件头部加上:error_reporting(0); 如果不行,只有打开php.ini,找到display_errors,设置为display_errors = off。以后任何错误都不会提示。

  方法4 :做判断:isset($_get["page"]) if-else判断

  或者加上''@''表示这行如果有错误或是警告不要輸出 如:@$page=$_get["page"]

  方法5:file1.php文件把$xx变量付一个值,用post传递给file2.php, 如果file2.php没有$xx的定义,而直接使用$yy=$xx; 系统就会报错:"undifined variaable $xx", 如果file2.php的文件开始用$xx="";定义,那么file1.php的$xx值就传不过来了!

  file2.php里可以这样 if(!isset($xx)) $xx="";

  ==========================

  方法3:每个文件头部加上:error_reporting(0); 解决

  买服务器,无非就是想要省心和稳定。YINGSOO海外服务器,免备案、带独立控制台、专属1对1客服、全年全天候售后服务;品牌级硬件、一流数据中心机房,关键是价格还不贵。你想要的,终于找到啦!客服热线:400-630-3752

  热门文章:【response 查看原始ip】【chia挖mass】【美国vps可以用外网吗】【秒拨 动态ip 实现原理】【vps搭建http动态代理】【小狐狸钱包添加xdai】【关闭国外UDP】【chia p盘日志】【流媒体服务器】【云服务 攻击类型】【双主机的好处】【欧洲访问国内服务器】【游戏服务器多少钱一个月】【服务器在国外就是国外网站吗】【宝塔面板安装系统】【中国电信机房】【奇亚地址查看交易流水】【攻击传奇私服服务器最新办法】【免费主机空间哪个好】【网站如何用俄罗斯服务器】【数据中心发展趋势】【chia 地址生成】【vps和拉网线的区别】【主机托管电源】【几万人同时在线app服务器】【两个服务器带着一个电脑怎么重启】【jp服务】【狐狸钱包添加dai】【CDN国内外发展】【越南节点

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部