2016-11-24 2 views
0

Я пытаюсь получить переменную сеанса, которая будет чередоваться между 0 и 1 для каждой загрузки страницы.PHP Session Variable - изменение загрузки страницы

Так сначала загружает время страницы

$_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']; 
?> 

Edit: RiggsFolly Исеть() является правильным. моя промахивает, и он будет давать ошибки в журнале. и первое значение не равно 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