保存会话变量被覆盖

保存会话变量被覆盖

问题描述:

我问用户他想掷骰子多少次。 脚本显示输出。保存会话变量被覆盖

session_start(); 
$number = $_POST["dice"]; // capture the amount of rolls from htmlpage 
$count1 = 0; //have six of these, for each number 

然后,我开始初始化存储在服务器端的会话变量。

$_SESSION["one"] = $count1; // for all six different numbers 

echo "You rolled a 1 " . $_SESSION["one"] . " times<br>"; 

我的问题很自然,会话变量不存储旧的卷,但在每次卷重置。我该如何去改变这个?

我想我需要的东西像isset(_SESSION["one"]但在这里我的逻辑放弃了我。任何帮助赞赏。

+0

'如果(isset($ VAR)&&!空(是$ var)){//设置VAR}' –

+0

你能更好地解释什么ÿ你在努力实现吗?可以帮助更好。每卷的某种输出等。 –

+0

准确地说,如何增加已设置的变量? – droppyboxi

我重读你的问题:

<?php 
session_start(); 

$number_of_rolls = $_POST['dice']; 

for($i = 0; $i <= $number_of_rolls; ++$i) 
{ 
    $roll_result = roll_dice_algorithm(); 
    $_SESSION['rolls'][$roll_result] = (isset($_SESSION['rolls'][$roll_result]) ? ($_SESSION['rolls'][$roll_result]+1) : 1); 
} 

ksort($_SESSION['rolls']); 

foreach($_SESSION['rolls'] as $k=>&$v) 
{ 
    echo 'You have rolled a '.$k.': '.$v.' times<br>'; 
} 
unset($v); 
?> 

你自己说的,你intialize会话变量,你运行你的脚本每次......

$_SESSION["one"] = $count1; // for all six different numbers 

所以它总是会重新开始......试试这个

$_SESSION["one"] = isset($_SESSION["one"]) ? $_SESSION["one"] : 0;