php Notice: Undefined index错误解决办法
1.找到未定义变量进行处理
代码如下 | 复制代码 |
addslashes(htmlspecialchars(isset($_POST[$str])?$_POST[$str]:'')); |
2.把错误给过滤掉
代码如下 | 复制代码 |
@$page=$_GET["page"]; |
3.修改php.ini配置文件进行所有错误过滤
代码如下 | 复制代码 |
error_reporting = E_ALL & ~E_NOTICE 或者 ini_set( ‘display_errors’, ’0′ ); |
4.在程序中直接加一个处理
代码如下 | 复制代码 |
if (!$cfg['debug']) { |
5.在php文件最开始处加如下一句代码
代码如下 | 复制代码 |
error_reporting(0); |
总结:
上面所有方法中最好的方法是方法一,这样在对程序性能上是有很好的帮助,如果你页面错误过多直接过滤掉会影响性能的哦,我以前介绍过一篇这样的文章大家可在本地搜索。
php页面空白我们从几个方法入手,一个是php把错误提醒功能给关闭了,另一个是程序没有返回结果,当然如果是使用了php操作数据库我们可以数据库报错未进行判断处理,下面我们从这三个方法来给大家分析php页面空白不报错解决办法。1.php程序不报错
windows系统,我们在找到apache安装目录下的php.ini
display_errors = Off 改成 display_errors = On
linux系统 PHP配置文件路径:/uer/local/php/etc/php.ini
display_errors = Off 改成 display_errors = On
还有程序中是不是加有
error_reporting = E_ALL; /* 最严格的错误报告级别, 开发阶段可开启 */
error_reporting = E_ALL &~ E_NOTICE /* 除了notice以外的错误 */
error_reporting = E_ERROR | E_PARSE | e_CORE_ERROR /* 只考虑致命的运行时错误,新解析错误
如果有我们把它们取消掉
2.php程序执行没有结果返回
例子
function abc()
{
echo 'http://www.111cn.net';
}
你直接执行页面就是空白页面了,我们需要执行调用函数
echo abc();才会有输出
3.数据库sql错误,但没有给出错误报告提示
例子
$sql ="select * from a where aaaaf=ccc ";
mysql_query( $sql );
这样执行sql有错误但也没有错误提示我们只要在后在加上mysql_error();即可
$sql ="select * from a where aaaaf=ccc ";
mysql_query( $sql ) or die(mysql_error());
友情提示
有些时间我们是页面编码错误也有可能是页面空白哦,不过开启了错误提醒功能还是会显示出来哦。
curl乱码有两个方面的原因一个是因为我们采集页面的php页面编码与远程文档编码不致导致的,另一种可能是页面进入了gzip压缩传输导致的,那么我们要如何解决这些问题呢?gzip压缩传输导致乱码
今天在采集京东的时候发现返回的数据是乱码,网上说可能和压缩有关,看了一下京东的头信息的确进行gzip加密,好吧,那就解压吧
代码如下 | 复制代码 |
$return = gzdecode($return); //将return的字符进行解码 另一种解决办法 curl_setopt($ch, CURLOPT_ENCODING, 'gzip'); |
页面编码问题
代码如下 | 复制代码 |
mb_convert_encoding($str, 'utf-8', 'GBK,UTF-8,ASCII');就行了 |
1.php curl ipv4使用例子
代码如下 | 复制代码 |
/** |
上面代码在ipv4是没有任何问题了,如果在了ipv6网站就会返回405 method not allowed状态码了,那么我们查看了php手册发现只要简单的修改一下即可。
以上为我编写的一个基本curl访问的方法,因为我这里需要通过使用IPv6的方式,所以加了相应的选项,相信大家能看的明白,平时经常用到的选项上面都有出现,大家根据需要摘取。
405/Method Not Allowed,表示不支持请求的方法,这个错误不常见。
导致403错误是要是由于curl默认是用post方式进行提交访问的,post方式在此域名下是没有权限的,如我在测试www.111cn.net的时候就出现了此问题,在我修改为get的方式,并且增加了header头后,即可正常访问,个人推测,或许是亚马逊那边基本上都是采用get的方式,才会被认为是人为的点击,对post做了相应屏蔽。
ipv6增加了如下代码:
代码如下 | 复制代码 |
//设置Header头 |
命令行的形式为:
curl -v www.111cn.net
IPV6下curl超时问题
代码如下 | 复制代码 |
<?php $ch = curl_init(); |
注:curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4) 只有在php版本5.3及以上版本,curl版本7.10.8及以上版本时,以上设置才生效。
phpmyadmin界面乱码
效果如我们的中文表都是乱码了(注意:我使用的是国外的linux空间了,使用国内的没问题)
出现这个问题我们一可以不使用国外主机现成的phpmyadmin了,我们自己下载一个phpmyadmin上传上去,这样一般可以解决问题,如果不行我们参考下面办法
phpmyadmin乱码解决
1. 因为MySQL的默认编码是latin1,所以首先我们需要修改一下PHPMyAdmin的编码转换。修改libraries目录下面的select_lang.lib.php文件,将
代码如下 | 复制代码 |
[indent] 'utf-8' => 'utf8', 修改成 'utf-8' => 'latin1', [/indent] |
2. 接下来还要修改一下页面的编码显示,将
代码如下 | 复制代码 |
[indent] 'zh-gb2312' => array('zh|chinese simplified', 'chinese_simplified-gb2312', 'zh'), 修改成 'zh-gb2312-utf-8' => array('zh|chinese simplified', 'chinese_simplified-gb2312', 'zh'), [/indent] |
也就是在zh-gb2312后面增加-utf-8,这样页面编码就支持UTF-8了。
3. 首先选择zh-gb2312-utf-8进入PHPMyAdmin,这个时候浏览GB2312编码的数据正常,但是浏览UTF-8的数据是乱码。如果浏览UTF-8的数据的话,进入首页,然后在Language里面选择zh-utf-8就可以了
php页面中文乱码
如果是程序页面错误我们可参考一面方法
数据库中,所有表和有中文的字段指定使用编码:utf8_unicode_ci,注意表和字段都需要指定!
:数据库连接的时候指定编码:
代码如下 | 复制代码 |
mysqli_query($db_conn, "SET NAMES utf8");//指定脚本到数据库的编码 mysqli_query($db_conn, "set character_set_client=utf8"); //指定mysql内部的数据到磁盘编码 mysqli_query($db_conn, "set character_set_connection=utf8");//指定mysql的连接层编码 mysqli_query($db_conn, "set character_set_results=utf8");//指定mysql查询磁盘到数据结果的编码 |
这样页面问题也就解决了
相关文章
Ecshop提示Only variables should be passed by reference in错误
在安装好ecshop软件之后我们打开首页时提示Only variables should be passed by reference in错误了,碰到这个问题是什么原因呢?下面我们就一起来看看解决办法吧。...2016-11-25PHP session_start()很慢问题分析与解决办法
本文章来给各位同学介绍一下关于PHP session_start()很慢问题分析与解决办法,希望碰到此问题的同学可进入参考。 最近在做东西的时候发现一个问题 有一个接口挂...2016-11-25- 409错误是什么?http 409错误怎么解决呢?不少站长在遇到这个错误代码之后都一筹莫展,本次一聚教程网为大家带来了详细的说明,快来看看吧。 409错误是什么: HTTP 40...2017-01-22
- 414错误是HTTP协议状态码中的一种,很多都还不知道414错误是什么,以及不知道怎么解决414错误,那么就来看看小编带来的介绍吧。 414错误是什么: HTTP 414错误,(Requ...2017-01-22
- http 405错误是什么?http 405错误怎么解决?相信很多站长都在找这两个问题的答案,本次小编为大家带来了详细的教程,快来看看吧。 405错误是什么: HTTP 405错误是H...2017-01-22
php中json_decode()和json_encode()用法与中文不显示解决办法
本文章介绍了关于php中json_decode()和json_encode()用法与中文不显示解决办法,有需要的朋友可以参考一下下。 php中json_decode()和json_encode() 1.json_decode(...2016-11-25- 在php中我们如果要导入excel数据我们通常会使用phpexcel插件了,但是有朋友会发与使用phpexcel导出数据出现身份证后四位是0000情况了,下面我们就来看解决办法。 最...2016-11-25
- 401是HTTP状态码的一种,属于“请示错误”,表示请求可能出错,已妨碍了服务器对请求的处理。具体的401错误是指:未授权,请求要求进行身份验证。登录后,服务器可能会返回对页面...2017-01-22
- http 402错误是什么?402错误较为少见,一般不轻易出现,下面小编就来告诉大家402错误是什么吧。 HTTP 402错误是HTTP状态码的一种,表示“要求付费”; 所求的...2017-01-22
- 411错误是HTTP协议状态码的一种,很多人都还不知道411错误是什么,本次一聚教程网将为大家进行解答,并且告诉大家411错误怎么解决。 411错误是什么: HTTP 411错误,(Lengt...2017-01-22
- Apache status 503 的原因大致有如下几种情况 : 1、 CPU 负载过高,服务器响应不过来,返回503 2、 系统连接数超限,超过MaxVhostClients的上限,返回503 3、 单IP连接数超限,超过M...2016-01-28
- 403错误是网站访问过程中,常见的错误提示。资源不可用,服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致,比如IIS或者apache设置了访问权限...2017-01-22
- 403错误是HTTP状态码的一种,属于“请示错误”,表示服务器拒绝请求。如果在搜索引擎尝试抓取您网站上的有效网页时显示此状态代码,那么,这可能是您的服务器或主机拒绝搜索...2017-01-22
- 412错误是什么?412错误怎么解决?本次一聚教程网将为大家带来详细的介绍,帮助大家全面了解412错误的意思以及解决412错误的方法。 412错误是什么: HTTP 412错误,(Precond...2017-01-22
解决springboot使用logback日志出现LOG_PATH_IS_UNDEFINED文件夹的问题
这篇文章主要介绍了解决springboot使用logback日志出现LOG_PATH_IS_UNDEFINED文件夹的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-28- 今天用CPAN安装Term::ReadLine,报了个这样的错误 Going to read /root/.cpan/sources/modules/03modlist.data.gz Can't locate object method "data" via package "C...2016-11-25
- 相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
- 407错误是什么?407错误怎么解决?不少站长都遇到过407错误,下面小编将告诉大家如何处理407错误。 407错误是什么: HTTP 407错误是HTTP协议状态码的一种,表示需要代...2017-01-22
- HTTP 406错误是HTTP协议状态码的一种,表示无法使用请求的内容特性来响应请求的网页。一般是指客户端浏览器不接受所请求页面的 MIME 类型。 而MIME类型是在把输出...2017-01-22
- 410错误是HTTP协议状态码的一种,本次一聚教程网将为大家详细介绍HTTP 410错误是什么,以及410错误的解决办法。 410错误是什么: HTTP 410错误是HTTP协议状态码的...2017-01-22