我正在尝试建立一个测验
这是我正在使用的try catch示例。我想要创建的主要内容是在线测验,当点击“提交”按钮时,我希望将结果打印到屏幕上。
try catch有效但现在没有意义,因为它不需要用户交互。结果是硬编码的。
这是我的html和try catch的一个例子,我到目前为止。
我的问题是如何让它发生?
<p>Which Basketball team is known as the Hoosiers
<select>
<option value="">--Select--</option>
<option value="IU">IU</option>
<option value="Kentucky">Kentucky</option>
<option value="Ohio State">Ohio State</option>
<option value="Connecticut">Conneticut</option>
</select>
</p>
</br>
<input type="submit" id="submit" name="submit" value="submit"/>
</form>
<?php
$quiz = 'IU';
try {
//The answer is correct
if ($quiz == 'IU') {
echo 'Well Done!!!.';
}else{
throw new Exception ('Not even close.');
}
//That is incorrect
}catch (exception $wrg) {
echo 'Error: ' .$wrg->getMessage();
}
?>
答案 0 :(得分:1)
我认为你问的问题是如何阅读测验的结果。您可以通过全局$ _POST变量执行此操作,您需要将您的选择命名为<select name="answer">
,然后您可以通过$ _POST ['answer']访问它以获取选择值。然后你可以比较它,你不应该在这里使用带有try-catch块的抛出异常,它并不是真的设计用于程序逻辑。相反,在这种情况下你应该尝试一个简单的if else。
if(array_key_exists('answer', $_POST){
if ($_POST['answer'] == 'IU') {
echo 'Well Done!!!.';
} else {
echo 'Not even close.';
}
}