【发布时间】:2015-09-07 19:59:57
【问题描述】:
编辑:感谢所有有用的答案,我解决了。
我似乎真的找不到这个问题的答案,而且它可能真的很简单。
我只是为了好玩而创建了一个页面,您可以在其中猜出 1-10 的数字。第 1 个人输入一个秘密数字,第 2 个人会猜。但是,我在存储密码中的 $_POST 时遇到了很多问题。
TL;DR 我无法将 secretNumber 的信息存储到guessnumber_guessed.php 文件中。例如查看guessnumber_guessed。 if 语句的第一部分,如果 inputNumber 等于 secretNumber,它应该说正确。问题是,变量未定义,如何“传输信息”?
希望大家明白我的意思,非常感谢您的帮助
代码如下:
guessnumber_welcome:
<form method="post" action="guessnumber.php">
<input type="text" name="secretNumber" placeholder="Type the secret number">
<input type="submit" name="submit" value="Send">
</form>
guessnumber.php:
<form method="post" action="guessnumber_guessed.php">
<input type="text" name="inputNumber" placeholder="Guess the secret number">
<input type="submit" name="submit" value="Guess!">
</form>
<?php
$secretNumber = $_POST["secretNumber"]
?>
guessnumber_guessed.php:
<form method="post" action="">
<input type="text" name="inputNumber" placeholder="Guess the secret number">
<input type="submit" name="submit" value="Guess!">
</form>
<?php
$inputNumber = $_POST["inputNumber"];
if ($inputNumber == $secretNumber) {
echo "<p id=\"correctAnsw\"> CORRECT! </p>";
}
else if ($inputNumber == 2) {
echo "<p id=\"wrongAnsw\">You're very close. Go up a little!</p>";
}
else if ($inputNumber==4) {
echo "<p id=\"wrongAnsw\">You're very close. Go down a little!</p>";
}
else if ($inputNumber > 10) {
echo "<p id=\"wrongAnsw\">The number is you guessed is too high. Stay within the borders!</p>";
}
else if ($inputNumber < 1) {
echo "<p id=\"wrongAnsw\">The number is you guessed is too low. Stay within the borders!</p>";
}
else {
echo "<p id=\"wrongAnsw\">This is not the number. Try a new one!</p>";
}
?>
【问题讨论】:
-
看看 $_SESSION 。你可以这样存储号码。这里看看这个链接php.net/manual/en/session.examples.basic.php#example-5241
-
在您的情况下,您必须使用隐藏字段才能将 $_POST["secretNumber"] 从guessnumber.php 传送到guessnumber_guessed.php。另一种解决方案是:使用 session_vars。
-
请注意,只有两个玩家使用相同的浏览器时,会话才会有所帮助。
标签: php html variables post input