保存会话变量被覆盖
问题描述:
我问用户他想掷骰子多少次。 脚本显示输出。保存会话变量被覆盖
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"]
但在这里我的逻辑放弃了我。任何帮助赞赏。
答
我重读你的问题:
<?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;
'如果(isset($ VAR)&&!空(是$ var)){//设置VAR}' –
你能更好地解释什么ÿ你在努力实现吗?可以帮助更好。每卷的某种输出等。 –
准确地说,如何增加已设置的变量? – droppyboxi