2014-10-18 27 views
0

我正在整合分頁到wordpress塊,應該發生什麼是每當我點擊「舊帖子」按鈕,後偏移增加另一個php文件(塊文件和增量文件是單獨的文件)。只有一行執行在一個虛假IF - PHP

每當我點擊的舊帖子,但有些魔術發生不應該:

問題是與的if語句之一,什麼情況是,IF語句評估爲假,但這一行,我標在代碼仍然執行(回聲不執行,但$_SESSION["inf"] = 0;確實)。

這是代碼。

if(isset($_POST["paginate_btn"])){ 
    if(isset($_SESSION["inf"])){ 
     echo "PREVIOUS:".(string)($_SESSION["inf"]); 
     $_SESSION["inf"] = $_SESSION["inf"] + 5; 
     echo "<br/> incremented by 5, RESULT:".(string)($_SESSION["inf"]); 
    } 
    else{ 
     echo "<br/> isset session inf failed, set to 5"; 
     $_SESSION["inf"] = 5; 
    } 
} 
else if(isset($a) and ($a != $url)){ 
     echo "<br/>dif page"; 
     if(isset($_SESSION["inf"])){ 
      echo "<br/> unset"; 
      $_SESSION["inf"] = 0; <----- THIS LINE HERE! 
     } 
     else{ 
      echo "<br/>session inf not set and button not pressed"; 
     } 
} 
else{ 
    echo "<br/> button not pressed, a is not set and is same page"; 
    $_SESSION["inf"] = 0; 
} 

我搞砸周圍的這幾個小時,我不明白的情況下是在這裏的..

var_dump((isset($a) and ($a != $url)));評估false,但仍然只有代碼,一行有被執行,回聲沒有,甚至沒有在它之前的dif頁回聲....

而有趣的部分,如果我註釋掉一行,這不再發生,我甚至嘗試設置它不同所以它肯定會以某種方式獨立運行。

if語句之後的Var_dump代碼。

echo "<br/>--1---<br/>"; 
var_dump((isset($a) and ($a != $url))); 
echo "<br/>--2---<br/>"; 
var_dump((isset($_SESSION["inf"]))); 
echo "<br/>---<br/>"; 
echo $_SESSION["inf"]; 
echo "<br/>---<br/><br/>"; 
+0

當你啓動if條件時,你確定'$ _SESSION [「inf」]'是否非零?它確實是那條線,而不是另一條將$ _SESSION [「inf」]設置爲零的線? – 2014-10-18 11:17:35

+0

Jep,例如,如果我將它設置爲27,那麼在下一次刷新的if條件之前$ _SESSION [「inf」]是27。 – aleks234 2014-10-18 11:22:07

回答

0

另一部分代碼集$_SESSION["inf"]0

如果您沒有看到echo s,它們不會被執行。

+0

然而,我認爲這不僅僅是0,如果我設置特定的行來強制$ _SESSION [「inf」]爲27,而是例如在下一次運行時將其設置爲27,並且如果我評論那些線,它不再被重置那裏(即使回聲沒有得到執行)。 – aleks234 2014-10-18 11:59:37

+0

重定向?但我想你會看到其餘的'echo's。發佈一個重現問題的最小例子。沒有冒犯,但我不相信你的判斷/推理。 – 2014-10-18 13:13:39

+0

舊的新聞按鈕重新加載相同的頁面,並嘗試增加5。每次我重新加載時,數字被重置爲與我在該行上設置的相同,這裏是輸出(將該行設置爲'$ _SESSION [「inf」] = 32;',每當我按新聞更新 http://imgur.com/xEvaOTO – aleks234 2014-10-18 13:31:47