如何防止包括2次,但如果不包括在之前现在包括

时间:2013-07-24 07:25:35

标签: php html ajax

我有一个名为header-guest.php的文件 当您打开此链接http://royta.ir/badurl时 此代码将运行:

if(!isset($headerload)){
if(isset($_COOKIE['userid'])){
    include_once('tmp/header.php');
}
else{
    include_once('tmp/header-guest.php');
}
}

当你点击بازگشتبهخانه
时 使用ajax,此代码将在#content

中运行
if(!isset($headerload)){
if(isset($_COOKIE['userid'])){
    include_once('tmp/header.php');
}
else{
    include_once('tmp/header-guest.php');
    include_once('block/index-visitor.php');
}
}

并在header-guest.php中我们有这段代码

<? echo $sitetitle; $headerload = 1;?>

但是当你点击badurl然后点击بازگشتبهخانه
header-guest.php将运行2次
我怎么防止它?

2 个答案:

答案 0 :(得分:3)

要防止加载资源两次,请使用require_onceinclude_once。如果碰巧为同一资源放置了两个include_once语句,它将阻止资源被加载两次。

答案 1 :(得分:0)

我修好了 我在我的js中为ajax加载

添加此代码
$.ajax({
            url: location,
            data: {headerload:555},
            success: function(result) {

所以我在我的页面中添加这个

if(!isset($headerload) and !isset($_GET['headerload'])){

因此它现在不会加载两次