Php 正在尝试将随机的on类型保存为隐藏,并出现错误
在我第一次单击“提交”之前,源代码如下所示(很好):Php 正在尝试将随机的on类型保存为隐藏,并出现错误,php,forms,random,Php,Forms,Random,在我第一次单击“提交”之前,源代码如下所示(很好): 猜一个介于1和100之间的数字 第一次提交后: Too Low<br> <html> <body> Guess a number between 1 and 100 <form action="/www/lesson4/gueeANumber.php" method="GET"> <input type="text" name="my_answer" autofocus>
猜一个介于1和100之间的数字
第一次提交后:
Too Low<br>
<html>
<body>
Guess a number between 1 and 100
<form action="/www/lesson4/gueeANumber.php" method="GET">
<input type="text" name="my_answer" autofocus>
<input type="hidden" name="number" value="<br />
<b>Notice</b>: Undefined variable: number in <b>C:\xampp\htdocs\www\lesson4\gueeANumber.php</b> on line <b>30</b><br />
">
<br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
过低
猜一个介于1和100之间的数字
下面是我使用php的全部代码:
<?php
if(!empty($_GET))
{
if(isset($_GET['number'])){
$guess=(int)$_GET['my_answer'];
$num=(int)$_GET['number'];
if($guess<$num){
echo "Too Low"."<br>";
}
else if($guess>$num){
echo "Too High"."<br>";
}
else{
echo "Correct!";
exit();
}
}
}
else
{
$number=mt_rand(1,100);
}
?>
<html>
<body>
Guess a number between 1 and 100
<form action="<?php echo $_SERVER["PHP_SELF"];?>" method="GET">
<input type="text" name="my_answer" autofocus>
<input type="hidden" name="number" value="<?php echo $number?>">
<br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
猜一个介于1和100之间的数字
您没有名为$number的php变量,您在html中引用它
我相信你应该指的是$num
改变
<input type="hidden" name="number" value="<?php echo $number?>">
那么,错误在哪里?尽管我猜,您可能在提交表单后出现了错误,特别是未定义索引:$number
实际上,OP在else
部分-->$number=mt_rand(1100)代码>你是对的。现在我看到了,出现错误的原因是PHP知道可能无法创建变量$number,这取决于用户输入,因此它不允许您在html中使用它。您可以通过在html中的$number前面添加@来解决此问题。
<input type="hidden" name="number" value="<?php echo $number?>">
<input type="hidden" name="number" value="<?php echo $num?>">