【问题标题】:Dice function variables holds only max two increments骰子函数变量最多只能保存两个增量
【发布时间】:2016-05-02 00:55:10
【问题描述】:

我想制作一个 php 网站,可以掷骰子,然后计算每个骰子的次数。

但是 php 中的变量没有正确递增,我在这里做错了什么?

这是我目前拥有的:

<form action="" method="get">
                <input type="submit" value="Kast en terning" name="kastTerning"/>
            </form>

            <?php
            session_start();
            $_SESSION["terning1"] = 0;
            $_SESSION["terning2"] = 0;
            $_SESSION["terning3"] = 0;
            $_SESSION["terning4"] = 0;
            $_SESSION["terning5"] = 0;
            $_SESSION["terning6"] = 0;

            function oppgave5() {
                if (isset($_GET["kastTerning"])) {
                    $roll = rand(1, 6);
                    if ($roll == 1) {
                        $_SESSION["terning1"] ++;
                    } elseif ($roll == 2) {
                        $_SESSION["terning2"] ++;
                    } elseif ($roll == 3) {
                        $_SESSION["terning3"] ++;
                    } elseif ($roll == 4) {
                        $_SESSION["terning4"] ++;
                    } elseif ($roll == 5) {
                        $_SESSION["terning5"] ++;
                    } elseif ($roll == 6) {
                        $_SESSION["terning6"] ++;
                    }

                }
                return $roll;

            }


                oppgave5();
                echo "Du kastet " .oppgave5() ."</br>";
                echo "1 kom " . $_SESSION["terning1"] . " ganger.</br>";
                echo "2 kom " . $_SESSION["terning2"] . " ganger.</br>";
                echo "3 kom " . $_SESSION["terning3"] . " ganger.</br>";
                echo "4 kom " . $_SESSION["terning4"] . " ganger.</br>";
                echo "5 kom " . $_SESSION["terning5"] . " ganger.</br>";
                echo "6 kom " . $_SESSION["terning6"] . " ganger.</br>";
                ?>

【问题讨论】:

  • 你每次都在重置你所有的骰子,你知道吗?
  • @Frederico,我有预感。也尝试了不同的方法,没有任何效果!我真的坚持这一点。

标签: php dice


【解决方案1】:

改变

$_SESSION["terning1"] = 0;
$_SESSION["terning2"] = 0;
$_SESSION["terning3"] = 0;
$_SESSION["terning4"] = 0;
$_SESSION["terning5"] = 0;
$_SESSION["terning6"] = 0;

// set them to 0 only when you start a new session.
if (!isset($_SESSION["terning1"], $_SESSION["terning2"], $_SESSION["terning3"], $_SESSION["terning4"], $_SESSION["terning5"], $_SESSION["terning6"])) {
    $_SESSION["terning1"] = $_SESSION["terning2"] = $_SESSION["terning3"] = $_SESSION["terning4"] = $_SESSION["terning5"] = $_SESSION["terning6"] = 0;
}

否则每次重新加载页面时都将它们设置为0

【讨论】:

    猜你喜欢
    • 2018-09-24
    • 1970-01-01
    • 2017-12-02
    • 1970-01-01
    • 2021-09-09
    • 2015-04-09
    • 1970-01-01
    • 2017-02-16
    • 2018-04-14
    相关资源
    最近更新 更多