我问用户他想要掷骰子多少次。 脚本显示输出。
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 :(得分:0)
我重读了你的问题:
<?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);
?>
答案 1 :(得分:0)
您自己说过,每次运行脚本时都会初始化会话变量...
$_SESSION["one"] = $count1; // for all six different numbers
所以它总会重新开始......试试这个
$_SESSION["one"] = isset($_SESSION["one"]) ? $_SESSION["one"] : 0;