2012-07-04 26 views
0

下面我有一行代碼,指出哪一頁用戶當前在總頁數以外。如何讓第一頁每次都等於1

<h1>CREATING QUESTIONS AND ANSWERS: SESSION (AAA) <?php echo $sessionMinus ?> OF <?php echo $_SESSION['initial_count'] ?></h1> 

因此,例如行可以這樣說的:

CREATING QUESTIONS AND ANSWERS: SESSION (AAA) 3 OF 3 

現在我的問題是,如果用戶在第一頁上,它不顯示數字1。因此,而不是說明1的3或1 5,它是說2或3或2的5.

所以我的問題是,我怎麼能得到第一頁等於1 OF ...當用戶訪問第一屆會議(第一頁)?

下面是當前的代碼:

if(isset($_POST['sessionNum'])){ 
      //Declare my counter for the first time 

      $_SESSION['initial_count'] = $_POST['sessionNum']; 
      $_SESSION['sessionNum'] = $_POST['sessionNum']; 
      $_SESSION['sessionCount'] = 0; 

    } 

else if ($_SESSION['sessionCount'] < $_SESSION['sessionNum']) { 
    $_SESSION['sessionCount']++; 
} 


$sessionMinus = $_SESSION['sessionCount']; 

$_SESSION['sessionNum']是會話的總數。所以如果它是3的5,那麼$_SESSION['sessionNum']是5.

回答

0

如果你想建立類似於「奇才」那麼在會話中你將存儲一些數據來跟蹤用戶活動和一般過程,你會說「如果用戶處於第一次會話......「這很混亂,更好地說」如果用戶在第一步「

說你想存儲會話,」用戶在步驟1的3個步驟「,你會需要

$_SESSION["user_track"] = array(
("current") => 1, 
("next")=>2, 
("total") => 3, 
("previous") => 0 
); 

和IF檢查每一步

if($_SESSION["user_track"]["next"] != $GLOBAL_STEP){ 
/* 
    $GLOBAL_STEP , a integer you defined in the current step say its 2 
    and users next step matches 2 then he/she is on the correct step 
*/ 
}else if($_SESSION["user_track"]["next"] == $_SESSION["user_track"]["total"]){ 
/*At the ending step*/ 
}else{ 
// couldn't proceed to next step, something went wrong 
} 

希望它有助於

+0

我讀過你的答案,但我真的很困惑。我以前從來沒有聽說過奇才,但首先可以有任何數量的會話(在你的例子中,如果你有3次會話,那麼我該怎麼建立一個陣列)。其次,我對IF語句感到困惑,因爲我不知道我的代碼的哪一部分進入了IF語句。如果你不介意重寫你的答案,以便它與代碼匹配,那麼有沒有辦法,那麼我不僅可以做到這一點,而且它還能讓我更好地理解將來的使用情況。 – user1490145

0

我建議:

  • 使用單詞「頁」或代替「會話」「階梯」,因爲「會話」與$_SESSION陣列混亂。
  • 使用一個簡單的GET參數當前頁面/步驟(例如yourpage.php?step=X),其中默認步進值是1。
相關問題