设为首页 收藏本站
查看: 1175|回复: 0

[经验分享] PHP Notice: undefined index xxx

[复制链接]

尚未签到

发表于 2018-12-20 09:12:20 | 显示全部楼层 |阅读模式
  PHP Notice: undefined index xxx
  虽然可以通过设置错误显示方式来隐藏这个提示,但是这样也有隐患,就是在服务器的日志中会记录这些提示,导致日志文件异常庞大!
  下面是引用网上流行的解决方法:
  首先,这个不是错误,是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=”";
  但Jones认为,这些方法都不太方便。你不妨这样解决:
  定义一个函数:
  查看源代码
  打印帮助
  1
  function
  _get(
  $str
  ){
  2
  $val
  = !
  empty
  (
  $_GET
  [
  $str
  ]) ?
  $_GET
  [
  $str
  ] : null;
  3
  return
  $val
  ;
  4
  }
  然后在用的时候,直接用 _get(’str’) 代替 $_GET['str'] 就行啦~
  http://duanchunlingshu.blog.163.com/blog/static/1050941652010718111751666/(原始出处)
  ; Error handling and logging ;
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ; error_reporting is a bit-field.  Or each number up to get desired error
  ; reporting level
  ; E_ALL             - All errors and warnings (doesn't include E_STRICT)
  所有错误和警告(除开E_STRICT)
  ; E_ERROR           - fatal run-time errors  (在运行中致命的错误)
  ; E_RECOVERABLE_ERROR  - almost fatal run-time errors(运行中几乎致命的错误)
  ; E_WARNING         - run-time warnings (non-fatal errors)运行中出现的警告(非致命错误)
  ; E_PARSE           - compile-time parse errors 编译时语法错误
  ; E_NOTICE          - run-time notices (these are warnings which often result
  ;                     from a bug in your code, but it's possible that it was
  ;                     intentional (e.g., using an uninitialized variable and

  ;                    >  ;                     empty string)  运行时通知(这些警告,这通常会结果
  在你;从一个错误代码,但它是可能的,它是
  ;故意(例如使用未初始化的变量和
  依托这一事实,它会被自动初始化为一个
  空字符串);
  ; E_STRICT          - run-time notices, enable to have PHP suggest changes;   to your code which will ensure the best interoperability 运行时的告示,使有PHP建议更改你的代码将确保最佳的互操作性和论述了前向兼容与你的代码
  ; E_CORE_ERROR      - fatal errors that occur during PHP's initial startup  致命错误,发生在PHP的初始启动
  ; E_CORE_WARNING    - warnings (non-fatal errors) that occur during PHP's
  ;                     initial startup   警告(非致命性错误),发生在PHP的
  初始启动;
  ; E_COMPILE_ERROR   - fatal compile-time errors  编译时致命的错误
  ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) 编译时警告(非致命错误)
  ; E_USER_ERROR      - user-generated error message     自创内容错误信息
  ; E_USER_WARNING    - user-generated warning message 自创内容警告信息
  ; E_USER_NOTICE     - user-generated notice message   自创内容通知消息


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-653424-1-1.html 上篇帖子: php小偷实例教程 下篇帖子: 开启php debug mode
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表