我遇到了简单的PHP应用程序的问题,用户必须从可用选项列表中输入正确的答案。这些选项存储在一个数组中。问题是我不能在脚本中随时使用选项而不是数组声明点。我可能听起来很蠢......我相信我。让我们说这是阵列:
$hobbyChoices = array("Movie","Music","Games","Books","Sports","Sleeping");
现在我的脚本中有一个文本框,$_POST
方法用于提交表单。我选择的正确选择是“体育”。现在用户可以点击提交有4种可能性,它们列在下面。
$hobbyChoices
但不是'体育'。这可能看起来很简单,但问题是我不能在脚本中的任何地方使用爱好的名称,如前所述,除了数组声明。我能帮忙吗?此外,当我尝试执行4种可能性中的一种时,我遇到了大写和小写的问题。这是非常恼人,任何帮助将不胜感激。
谢谢!
答案 0 :(得分:0)
如果我正确理解您的问题,以下是您正在寻找的内容:
<?php
$hobbyChoices = array("Movie","Music","Games","Books","Sports","Sleeping");
if (isset($_POST['answer'])) {
$answer = mysql_real_escape_string($_POST['answer']);
$correct_answer = $hobbyChoices[4];
$response = "Your answer is not one of the answers listed!";
foreach ($hobbyChoices as $value) {
if (strtolower($answer) == strtolower($value) && (strtolower($answer) != strtolower($correct_answer))) {
$response = "You selected the wrong answer from the list of options!";
}
else if (strtolower($answer) == strtolower($value) && (strtolower($answer) == strtolower($correct_answer))) {
$response = "You have answered correctly!";
}
}
print $response;
}
?>
<form name="form" method="post">
<table>
<tr>
<td>What is baseball?
</td>
<td><input type="text" name="answer" />
</td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="submit" />
</td>
</tr>
</table>
</form>
strtolower是php中的一个函数,它将字符串转换为小写,可以帮助您比较两个值。