【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください

おみくじのプログラムで引き直した数をカウントする、リセットボタンで回数のリセットをするプログラムを作ったのですが以下のプログラムではリセットが一時的でもう一度を押すとカウンタがリセットを押す前のカウントに戻ってしまします。
リセットを後続的にするにはどうすればいいでしょうか?説明がわかりずらくてすみません

<?php
$fortunes = array('大吉'........);
$result = $fortunes[rand(0, count($fortunes)-1)];
echo "あなたの運勢は、". $result . PHP_EOL;

session_start();
$ct = isset($_SESSION['ct'])? $_SESSION['ct']:0;
$ct++;
$_SESSION['ct']=$ct;
var_dump($_POST);
if ($_POST['act'] == 'reset') $ct = 0;
?>

<form method="post">
<button name="button">もう一度引く</button>
<button type="submit" name="act" value="reset">リセット</button>
</form>
<body>
<html>
<?= $ct ?>

A 回答 (1件)

こんにちは



>if ($_POST['act'] == 'reset') $ct = 0;
では、メモリ上の変数値をクリアしているだけなので、次にリクエストされた際には、

>$ct = isset($_SESSION['ct'])? $_SESSION['ct']:0;
で、最後に「記録された値」が採用されることになるので・・・・

処理の順序を入れ替えれば、ご希望のようになるのでは?
    • good
    • 0
この回答へのお礼

ありがとうございます

お礼日時:2021/06/14 14:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報