我正在學習php,我很難找到答案。在我提交一個必須再次調用頁面的表單後,如何保留一個變量? (奇怪的措辭?)我試圖保持$ num_to_guess和$ num_tries。我正在按照我發現的說明將$ num_tries作爲隱藏輸入包含在html塊中,但在提交表單後它仍然不會增加它。PHP - 如何存儲變量狀態?
如何在提交後保存$ num_to_guess和$ num_tries?
<?php
if (!isset ($num_tries))
{
$num_to_guess = rand(1, 100);
}
$num_tries = (isset ($_POST['num_tries'])) ? $num_tries + 1 : 0;
if (!isset ($_POST['guess'])) {
$message = "Welcome to the guessing machine!";
} elseif (!is_numeric ($_POST['guess'])) {
$message = "I don't understand that response...";
} elseif ($_POST['guess'] == $num_to_guess) {
$message = "Well done! That is the number!";
} elseif ($_POST['guess'] < $num_to_guess) {
$message = $_POST['guess'] . " is too small!";
} elseif ($_POST['guess'] > $num_to_guess) {
$message = $_POST['guess'] . " is too big!";
} else {
$message = "I am terribly confused...";
}
?>
<!DOCTYPE html>
<html>
<head>
<title>A PHP Number Guessing Script</title>
</head>
<body>
<h2>The Guessing Game</h2>
<p>1-100<br/>
Guess number: <?php echo $num_tries ?></p>
<h3><?php echo $message; echo $num_to_guess?></h3>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<p><label for="guess">Type your guess here:</label><br/>
<input type="text" id="guess" name="guess" /></p>
<input type="hidden" name="num_tries" value="<?php echo $num_tries; ?>"/>
<button type="submit" name="submit" value="submit">Submit</button>
</form>
</body>
</html>
除了_session $ /餅乾,你必須使用JS緩存/的localStorage的選擇,如果你使用像AngularJS或EmberJS良好的客戶端應用程序框架。然而,這些服務器控制將更少。但是,如果您想要將其更改/存儲在服務器中或將變量存儲在服務器中,那麼會話或日誌文件或db(基於數據量)可能是您最好的選擇。有很多方法可以解決這個問題。祝一切順利。讓我們知道你是否正確實施或需要更多幫助。 – Gary