PHP LINUX Notice: undefined $_GET完美解决方法

PHP Notice: undefined

平时用$_GET[‘xx’] 取得参数值时,如果之前不加判断在未传进参数时会出现这样的警告:

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认为,这些方法都不太方便。你不妨这样解决:

定义一个函数:

function _get($str){ $val = !empty($_GET[$str]) ? $_GET[$str] : null; return$val; }

然后在用的时候,直接用 _get(‘str‘) 代替 $_GET[‘str‘] 就行啦~

PHP LINUX Notice: undefined $_GET完美解决方法,布布扣,bubuko.com

时间: 2024-10-25 19:31:41

PHP LINUX Notice: undefined $_GET完美解决方法的相关文章

谷歌、火狐浏览器下实现JS跨域iframe高度自适应的完美解决方法,跨域调用JS不再是难题!

谷歌.火狐浏览器下实现JS跨域iframe高度自适应的解决方法 导读:今天开发的时候遇到个iframe自适应高度的问题,相信大家对这个不陌生,但是一般我们都是在同一个项目使用iframe嵌套页面,这个ifame高度自适应网上一搜一大把,今天要讲的如何在不同的网站下进行相互的调用跟在同一个网站下是一个效果:例如我在自己的项目里面Iframe  了第一博客的页面  http://www.diyibk.com/   当第一博客的页面高度变化了怎么通知父页面呢? 这个时候在谷歌下肯定是拿不到 ifram

outlook 关闭时最小化到任务栏的完美解决方法

最近使用Outlook,但是发现很容易被关闭退出,不能实现关闭最小化. 在网上了找了很久也使用了outlook on the desktop的插件,但是安装该插件后运行报错而弃用.最后找到了一个叫keepoutlookrunning的com 的加载项完美解决,下载地址:keepoutlookrunning. 安装方法:见百度文库 注意:改插件需要 "Microsoft Visual C++ 2010 可再发行组件包"的支持,如遇到安装时无法安装加载项时请先安装组件包,组件包下载地址 插

head标签中的title,link,meta等的元素错位显示到body里面去了的完美解决方法

问题展现就像上图所示,head中什么都没有,head中的标签全部错位到body中显示,在页面的直观表现就是无故多处一行空白,很多人觉得这是编码者没有写好闭合标签的问题,嗯,是有可能,但不说现在的浏览器大都能自动补全未闭合标签,未写闭合标签也不至于让head中的内容完全移步到body中去吧.... 解决方法: 这个问题其实是由编码格式引起的,没错,就是BOM的问题,选一个比较高级的编辑器,个人推荐Notepad++,打开后选择 格式 选择以无BOM格式编码保存文档,然后就可以了. 嗯,就是这样子,

详解Linux中文乱码问题终极解决方法

详解Linux中文乱码问题终极解决方法 方法一: 修改/root/.bash_profile文件,增加export LANG=zh_CN.GB18030 该文件在用户目录下,对于其他用户,也必须相应修改该文件. 使用该方法时putty能显示中文,但桌面系统是英文,而且所有的网页中文显示还是乱码 例: cd ~ vim .bash_profile 直接写入 export LANG=zh_CN.GB18030 之后重启 就ok了 方法二: 修改/etc/sysconfig/i18n文件 #LANG=

Linux安装软件时缺少依赖包的简单较完美解决方法!

大家在linux下源码安装时,有木有经常碰到缺少这个包那个包的,然后不知所措?看到最近有几个筒子安装thrift,安装python因缺少依赖包而进行不下去了.我用的是红帽,装系统的时候习惯把所有的有的没的都选择上,基本没有出现过缺少包的情况,大家可以试试. 如果装系统的时候忘了选择所有的包,来,这里有你想要的. 如果电脑可以联网,可以试试以下的yum命令,把命令copy过去贴到命令行执行下就OK了: yum -y install gcc gcc-c++ autoconf libjpeg libj

Linux中文乱码问题终极解决方法

方法一: 修改/root/.bash_profile文件,增加export LANG=zh_CN.GB18030该文件在用户目录下,对于其他用户,也必须相应修改该文件. 使用该方法时putty能显示中文,但桌面系统是英文,而且所有的网页中文显示还是乱码 方法二:修改/etc/sysconfig/i18n文件 #LANG="en_US.UTF-8"#SUPPORTED="en_US.UTF-8:en_US:en"#SYSFONT="latarcyrheb-s

Sublime text 2 for linux 中文输入法无法使用的解决方法

Sublime Text 2 Linux 版一直都没有解决中文输入这个问题. 目前中文输入有三种方案,分别是: 方案一:使用小小输入法 小小输入法新版本已经支持再Sublime Text 下输入中文 关于小小输入法的安装以及简介: http://blog.ubuntusoft.com/small-input.html http://forum.ubuntu.org.cn/viewtopic.php?t=226677 方案二:打开另外一个可以输入中文的输入框,输入中文后拷贝进Sublime Tex

linux终端make menuconfig错误解决方法

linux终端错误:Unable to find the ncurses libraries or the required header files解决 在终端执行make mebuconfig 出现以下错误: [[email protected] linux-2.6.35.7]# make menuconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/basic/docproc HOSTCC scripts/basic/hash HOSTCC s

vmware中linux无法动态获取dhcp解决方法

最近遇到了vmware虚拟机中 linux  dhcp无法获取的问题 困扰了好久 终于得到大神的帮助 解决了 所以马上来分享~ 首先确定自己ethX的配置没问题,我是eth0 dhcp获取,配置如下: [[email protected] network-scripts]# cat ifcfg-eth0 DEVICE="eth0"//这个就是要设置的接口 BOOTPROTO="dhcp" HWADDR="00:0C:29:54:2B:48"//这