Переменные функции кубика содержат только максимум два приращения

Я хочу создать 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>";
?>

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,

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]