2016-11-24 89 views
0

我試圖讓每個頁面加載時會話變量在0和1之間變化。PHP會話變量 - 頁面加載時更改

所以第一次加載頁面

$_SESSION['turn'] = 0; 

第二次

$_SESSION['turn'] = 1; 

第三次

`$_SESSION['turn'] = 0;` 

等。

然後我可以稍後在頁面中調用該變量。

我無法解決如何做到這一點。我已經嘗試了一個簡單的IF函數,但無法讓它工作。

回答

1

試試這個頁面加載的地方。

$_SESSION['turn']=1-$_SESSION['turn']; 

代碼:

<?php 
session_start(); 
echo $_SESSION['turn']; 
$_SESSION['turn']=1-$_SESSION['turn']; 
?> 

編輯:RiggsFolly isset()函數是正確的。我錯過了它,它會給日誌中的錯誤。並且第一個值不是0

+0

這將錯誤時運行的第一次作爲'turn'鍵的訪客將不存在。 –

2

首先會話必須在希望使用會話數組的任何頁面上啓動。 session_start()

接下來你要記住,最初您正在使用的會話變量將不存在你第一次嘗試使用它

所以

<?php 
session_start(); 

if (!isset($_SESSION['turn'])) { 
    // does not exist yet, so create with 0 
    // you may want to initialize it to 1, thats up to you 
    $_SESSION['turn'] = 0; 
} else { 
    $_SESSION['turn'] = $_SESSION['turn'] == 0 ? 1 : 0; 
} 
+0

完美!謝謝! – doorad