2012-03-28 45 views
0
<?php 
    session_start(); 


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

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

    } 

    if(!isset($_SESSION['sessionCount'])){ 
     $_SESSION['sessionCount'] = 1; 
    } 
    else 
    { 
     $_SESSION['sessionCount']++; 
    } 

$sessionMinus = $_SESSION['sessionCount']; 


?> 

我如何得到它,這樣如果$_SESSION['sessionCount']小於$_SESSION['sessionNum'],再加入1至$_SESSION['sessionCount'],以及它是否$_SESSION['sessionNum'],然後停止加1 $_SESSION['sessionCount']如何停止加入了一些,當它達到其極限

另外,如果我回去以前的頁面上,我回去到這個網頁上,我想$sessionMinus回到「1」,最後,如果用戶刷新頁面,那麼無論數量$sessionMinus是,保持它頁面刷新時的數量。

+1

你試過了什麼?聽起來就像你只需要添加一些'if'語句。 – 2012-03-28 16:14:06

+1

這個問題肯定是第5或第6個問題,你就同一主題提出了問題 - 我今天看到代碼'$ _SESSION ['sessionNum']'很多......也許是時候開始閱讀[PHP教程](http: //php.net/manual/en/tutorial.php)...所以你實際上理解你的應用程序中的代碼 – ManseUK 2012-03-28 16:18:23

+0

我已經訂購了一本關於PHP的書,實際上它將在幾天內發佈。我是新來的PHP,所以我不明白它,但是當我得到這本書,然後希望我可以教自己:) – user1292857 2012-03-28 16:22:00

回答

1

我如何得到它,這樣,如果$ _SESSION [ 'sessionCount']小於 $ _SESSION [ 'sessionNum'],再加入1〜$ _SESSION [ 'sessionCount']和 如果它等於$ _SESSION ['sessionNum'],然後停止加1到 $ _SESSION ['sessionCount']?

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

另外,如果我回去以前的頁面上,我回去到這個網頁上,我 想$ sessionMinus回到「1」

要做到這一點,你必須在前一頁中設置$_SESSION['sessionMinus'](或其他一些變量)。一旦達到這個頁面,要知道之前發生的事情的唯一方法是特定通過$_SESSION變量。你無法在現場檢測到它。

最後,如果用戶 刷新頁面,那麼無論數量$ sessionMinus是,保持它在 這個數字時,頁面刷新。

這是不可能的。您無法判斷該頁面是否從頭開始刷新或加載¹。你可以做的是使用PRG pattern並將「P」頁作爲「用戶剛剛到達這裏」和「G」頁作爲「用戶刷新頁面」進行計數。您可以從「P」頁面設置一個變量(例如$_SESSION['redirecting'] = true),並在「G」頁面($_SESSION['redirecting'] = false)上修改該變量。在你這樣做之前,先檢查它是否爲true。如果是,那麼用戶在這裏由於你的重定向(這將只發生一次)。如果它已經是false,他們已刷新頁面。


¹You可以嘗試通過$_SESSION做到這一點,再次,但實際上你只是猜測。沒有辦法知道一定的。

+0

如果我使用提交按鈕,如果我說如果(isset('submit'))然後添加1,否則,如果它不(可以說頁面刷新),那麼不要添加一個數字,所以數字保持不變? – user1292857 2012-03-28 16:30:23

+0

@ user1292857:頁面刷新也將包含提交值。正如我所說,不可能直接做到這一點。 – Jon 2012-03-28 16:47:36

+0

好,然後,1個最後的問題,試圖獲得當前頁面上的$ sessionMinus返回到1,如果用戶進入前一頁,然後回到當前頁面,我已經把\t \t如果'(!isset($ _ SESSION ['' sessionCount'])){ $ _SESSION ['sessionCount'] = 1; }'在上一頁,所以當前頁面回到1,但這是行不通的,我做錯了什麼? – user1292857 2012-03-28 16:57:09

0
if ($_SESSION['sessionCount'] < $_SESSION['sessionNum']) { 
    // sessionNum is bigger then sessionCount 
    $_SESSION['sessionCount']++; 
} 
相關問題