php提示undefined index的几种解决方法

平时用$_post[‘‘],$_get[‘‘]获取表单中参数时会出现Notice: Undefined index: --------;

我们经常接收表单POST过来的数据时报Undefined index错误,如下: $act=$_POST[‘action‘];
用以上代码总是提示
Notice: Undefined index: act in D:\test\post.php on line 20
另外,有时还会出现
Notice: Undefined variable: Submit ...... 等一些这样的提示

出现上面这些是 PHP 的提示而非报错,PHP 本身不需要事先声明变量即可直接使用,但是对未声明变量会有提示。一般作为正式的网站会把提示关掉的,甚至连错误信息也被关掉。

解决方法:

方法1:服务器配置修改
修改 php.ini 中的 error配置下错误显示方式:将error_reporting = E_ALL 修改为

error_reporting = E_ALL & ~E_NOTICE

修改后重启下APCHE服务器,方可生效。

方法2:对变量进行初始化。

方法3:做判断isset($_post[‘‘]),empty($_post[‘‘]) if --else

方法4:在出现notice代码之前加上@,@表示这行有错误或是警告不要输出,@$username=$_post[‘username‘];
在变量前面 加上一个 @ ,如 if (@$_GET[‘action‘]==‘save‘) { ...

方法5:最后一种很实用,是别人写的一个函数,通过这个函数进行传递值。

定义一个函数:

代码如下:

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

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

时间: 2024-10-06 00:46:16

php提示undefined index的几种解决方法的相关文章

php:undefined index的几种解决方法

平时用$_post[''],$_get['']获取表单中参数时会出现Notice: Undefined index: --------: 虽然可以通过设置错误显示方式来隐藏这个提示,但是这样也有隐患,就是在服务器的日志中会记录这些提示,导致日志文件异常庞大. 通过在网上搜索和自己自身的实战总结几种解决方法: 方法1:服务器配置修改 修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE 方法2:对变量进行初始化. 方法3:做判断isset($_post

PHP中出现Notice: Undefined index的三种解决办法

前一段做的一个PHP程序在服务器运行正常,被别人拿到本机测试的时候总是出现“Notice: Undefined index:”这样的警告,这只是一个因为PHP版本不同而产生的警告(NOTICE或者WARNING),而非错误(ERROR).PHP中的变量在不声明的情况下使用的时候,PHP4运行正常,但是到了PHP5环境下就会出现上述的警告或者提示.经过搜索查询,总结出来以下三种解决Notice: Undefined index的方法. 第一种方法:修改PHP配置文件,屏蔽掉此类警告和提示 修改ph

NDK 提示"undefined reference to xxx“的解决办法

在Android.mk文件的 LOCAL_SRC_FILES后面加入包含该类或函数的文件,用\隔开,\后换行继续添加 例如 LOCAL_SRC_FILES := NDKTest.cpp\bncore.c\bn_error.c\bn_fast_mp_invmod.c\bn_fast_mp_montgomery_reduce.c\bn_fast_s_mp_mul_digs.c\bn_fast_s_mp_mul_high_digs.c\bn_fast_s_mp_sqr.c\bn_mp_2expt.c\

IntelliJ IDEA提示URI is not registered几种解决方法

IntelliJ IDEA提示URI is not registered几种解决方法使用IntelliJ IDEA (以下简称IDEA)导入项目或是在maven生成  archetype时候,如果提示错误 URI is not registered .如下图 ↓ 第一种解决方法:点击 File ----> Settings ----> Schemas and DTDs , 点击下方的 “+” 加号添加 刚刚红色的url 即可.如图 ↓或者 直接在 菜单栏 直接找到 这个 第二种解决方法:鼠标点

iOS Mac忘记登录密码的4种解决方法

4种方法: 一.使用Apple ID重置用户账户密码 使用这个方法有一个前提 如上图红框,此项必须勾选,否则无法使用Apple ID重置密码.(如果你不记得有没有勾选,则你起码要记得首次启动 OS X 或装有 OS X Lion 或更高版本的全新 Mac 时,你会进入“OS X 设置助理”,其中需要你输入 Apple ID.输入 Apple ID 后,请在“创建您的帐户”阶段选择“允许我的 Apple ID 重设此用户的密码”选项.) 好了,来说下具体实现的方法: 如果您在登录窗口错误输入帐户密

SVN被锁定的几种解决方法

用SVN经常出现被锁定而无法提交的问题,选择解锁又提示没有文件被锁定,很是头疼. 这里整理了一下SVN 被锁定的几种解决方法: 1.出现这个问题后使用"清理"即"Clean up"功能,如果还不行,就直接到上一级目录,再执行"清理",然后再"更新". 2.有时候如果看到某个包里面的文件夹没有SVN的标志,直接用"Ctrl+Delete"手工删除,然后"清理",最后"更新&quo

iertutil.dll文件丢失找回的五种解决方法

今天小编在打开应用程序时弹出360se.exe窗口,提示没有找到iertutil.dll,因此这个应用程序未能启动.重新安装应用程序可能会修复此问题.瞬间就郁闷了,昨天用还好好的呢?难道真要重装程序.重新下载安装很浪费时间的.在请教大神后,小编找到了iertutil.dll丢失的原因,很有可能是电脑中毒了,卸载软件误删,比得到了四种常用解决办法和一种万能解决办法.现在分享给大家. 方法一 把C:\WINDOWS\system32\dllcache 下的iertutil.dll 复制到C:\WIN

mysql主从数据库不同步的2种解决方法(转)

今天发现Mysql的主从数据库没有同步 先上Master库: mysql>show processlist; 查看下进程是否Sleep太多.发现很正常. show master status; 也正常. mysql> show master status; +-------------------+----------+--------------+-------------------------------+ | File | Position | Binlog_Do_DB | Binlo

OGG的Director web hang住的两种解决方法

OGG的Director web hang住的两种解决方法: OGG的Director web hang住的解释:是指web界面能登陆进去,但是看得刷新日期是很久之前的日期,并且该日期不变化. OGG的Director web hang住 的情况之一: 参考如下的mos文章: Director web displaying "Error 500-Internal Server Error". Domain log has Cannot open paging store. (Doc I