php 一个页面使用require两次以上就会出现问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 一个页面使用require两次以上就会出现问题相关的知识,希望对你有一定的参考价值。

我在一个页面中使用两次require("");的话,页面头上部分就会空出来一片空白,去掉一个的话就好了,不知道是什么原因,是require本身原因吗,真搞不明白了
我top.php里面一个require("date.php");另一个是require("login/check_user.php");
<?php
if(!isset($_SESSION))
session_start();

require("date.php");
require("login/check_user.php");
?>
check_user.php:
<?php
session_start();
if(!$_SESSION['user'])
echo "<script>if (window != top)alert('请先登陆!');top.location.href = 'login/login.php';</script>";
exit();

?>
主要代码就这样了,可是我检查过,没什么问题的呀

参考技术A require本身不会有问题,你看看你的代码是否可以被require两次。

补充:
你应该知道继续检查下面这两个文件吧:
require("date.php");
require("login/login.php");

一般这些文件都是没有考虑重复require的,两次require很可能出现问题,你要继续追究你现在的问题,就要一个一个的文件分析。

要解决问题就很简单,把require换为require_once既可。
参考技术B 这种情况一般来说是函数被重定义或类被重定义了,且你的错误又被关了,就会显示出空白页面。
最好的办法是设置把这句放第一行,error_reporting(E_ALL);
看一下错误信息
参考技术C 检查一下编码问题,用ZendStudio看看,是不是那个文件上有个Bom头,就是一个空格,删掉它。本回答被提问者采纳

以上是关于php 一个页面使用require两次以上就会出现问题的主要内容,如果未能解决你的问题,请参考以下文章

PHP - 在多个页面中需要一次

PHP中的文件包含

PHP:require_once 用于多个文件但出现乱序

hdu3518(后缀数组)

PHP程序员面试中经常被提问的问题转载

具有两次以上递归的运算符优先级