2013-07-24 45 views
0

我有一個名爲標題,guest.php
當你打開這個鏈接http://royta.ir/badurl
這個代碼將運行1個文件包括:如何防止包括2次,但如果之前沒有包括現在

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

當你點擊بازگشتبهخانه
與AJAX這個代碼將在#內容

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'); 
} 
} 

並在報頭guest.php運行我們公頃已經驗證碼

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

但是當你點擊BADURL,然後點擊بازگشتبهخانه
頭,guest.php將運行2次
我怎麼預防呢?

+0

include_once('tmp.header.php'); – Tdelang

+0

你的意思是,當你運行的Ajax其會在加載的URL運行一次,一次?如果你不希望出現這種情況時,只要將包括來自Ajax的服務代碼 – Dave

+1

語句(如果你想在腳本能夠同時服務於Ajax和常規請求,發送Ajax請求時使用的查詢字符串,並決定是否顯示標題的基礎上) – Dave

回答

0

我解決它
我在JS中添加以下代碼AJAX負載

$.ajax({ 
      url: location, 
      data: {headerload:555}, 
      success: function(result) { 

,所以我在我的網頁添加此

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

所以它不會加載兩次,現在

3

防止加載資源使用兩次require_onceinclude_once。它會阻止從資源,如果你恰巧放兩個include_once報表相同的資源被加載兩次。

+0

我測試,但其又包括2次PLZ見[鏈接] http://royta.ir/badurl並點擊بازگشتبهخانه –

+0

您可以更新後的代碼? – DevZer0

+0

當然我更新它。完成了 –