php get或post提交表单报错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 本身不需要事先声明变量即可直接使用,但是对未声明变量会有提示。一般作为正式的网站会把提示关掉的,甚至连错误信息也被关掉。
首先,这个不是错误,是warning。所以如果服务器不能改,每个变量使用前应当先定义。网上流行的解决方法有以下几种:
第一种方法:
如果不影响程序的正常执行,可以采用屏蔽的方法
可以在代码的第一行 加上
error_reporting(E_ALL ^ E_NOTICE);
关闭掉 NOTICE错误的警告
第二种方法:
打开php.ini文件,error_reporting设置:
找到error_reporting=E_ALL
修改为error_reporting=E_ALL & ~E_NOTICE
第三种方法:
做判断:isset($_GET["page"]) if-else判断。或者加上'@'表示这行如果有错误或是警告不要输出。如:@$page=$_GET["page"]
第四种方法:
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="";
第五种方法:
如果你觉得上面的方法不怎么好用,也可以用下面的方法:
function _get($str){
$val = !empty($_GET['str']) ? $_GET['str'] : null;
return $val;
}
定义这样的一个函数,然后在用的时候,直接用 _get('str') 代替 $_GET['str'] 就行啦~这样会方便些。
- Python编程任务 | 斯坦福CS231n-深度学习与计算机视觉课程
- ofbiz实体引擎(二) delegator实例化具体方式
- ofbiz实体引擎(一) 获取Delegator
- 12个非常实用的JavaScript小技巧
- 关于PHP浮点数精度损失问题
- FreeMarker与JSP 2.0 + JSTL组合进行比较
- 从零开始学设计模式(1):基础编程模式
- 机器学习实战 | 第四章:模型验证和选择
- ofbiz中FreeMarkerWorker的makeConfiguration方法
- 后台进程(守护进程)自动备份PostgreSQL数据库
- 了解这些PHP小技巧吗?
- 结构体字节对齐
- 在Atom中设置Python开发环境
- Assignment 3 (神经网络) | 斯坦福CS231n-深度学习与计算机视觉课程
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- python tkiner实现 一个小小的图片翻页功能的示例代码
- 在Pytorch中使用Mask R-CNN进行实例分割操作
- PHP类的自动加载机制实现方法分析
- strpos() 函数判断字符串中是否包含某字符串的方法
- Laravel框架基于ajax和layer.js实现无刷新删除功能示例
- 详解php伪造Referer请求反盗链资源
- Laravel框架基于ajax实现二级联动功能示例
- django haystack实现全文检索的示例代码
- 基于Python下载网络图片方法汇总代码实例
- 基于pytorch中的Sequential用法说明
- pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
- tp5(thinkPHP5)框架数据库Db增删改查常见操作总结
- PHP基于cookie实现统计在线人数功能示例
- PHP实现对数字分隔加千分号的方法
- PHP验证类的封装与使用方法详解