【发布时间】:2014-05-12 10:31:30
【问题描述】:
我想编写一个显示随机图像的 php 代码,人们必须猜测它是什么。问题是我的php代码告诉我正确的城市不正确,我不知道为什么
<?php
$random = rand(1, 3);
$answer ;
if ($random == 1) { $answer = "chicago" ;}
elseif($random == 2) {$answer = "LA" ;}
elseif($random == 3) {$answer = "NewYork" ;}
else {echo "Answer is None" ; }
if (isset($_POST["choice"])) {
$a = $_POST["choice"];
if($a ==$answer){
echo "<br> working <br>" ;
}else {echo "<br> Not Working <br>";}
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>City Guess</title>
</head>
<body>
<center>
<img src="four/Image_<?php echo $random ;?>.jpg" width="960" height="639" alt=""/>
<form action="" method="POST">
chicago <input type= "radio" name="choice" value="chicago" />
<br>
LA <input type= "radio" name="choice" value="LA" />
<br>
NewYork <input type= "radio" name="choice" value="NewYork" />
<br>
<input type ="submit" value="Submit" />
</form>
</center>
</body>
</html>
【问题讨论】:
-
ist 因为您的 $random 在每次页面加载时都会重置,所以说第一次加载选择 1 当表单发布时它选择 3。您需要将第一次加载的 $random 存储在您的表单中并传递它在隐藏字段中作为您的“正确”结果,然后将您提交的答案与随机答案进行比较
-
这个函数 rand 返回一个介于 1 和 3 之间的浮点数,而不是 1、2 或 3。你需要使用类似 floor($random) 的东西。
-
random 会生成一个新的随机页面加载次数。可能有用的是使用会话/cookie 来存储这个数字,或者找到另一种方式。数据库驱动的方法会生成很多行,但会遇到问题。
标签: php html image random input