[英]PHP form keeps giving me back same response
very short simple quiz app. 很短的简单测验应用程序。 browser keeps returning Correct as a response, even though it is not correct.
浏览器会不断返回“正确”作为响应,即使它不正确。
<?php
$answer = (isset($_POST['answer']));`
if ($answer == "Dagny Taggart")`
{
echo "Correct";
} else {
echo "wrong";
}
?>
Try this. 尝试这个。 You're currently setting
$answer
to isset($_POST['answer']
, meaning as long as $_POST['answer']
is set, you're $answer is going to be TRUE
. I would check if it's set and then set it to the $_POST
value. 您当前正在将
$answer
设置$answer
isset($_POST['answer']
,这意味着只要设置了$_POST['answer']
isset($_POST['answer']
,就意味着$ answer将为TRUE
。我将检查是否已设置然后将其设置为$_POST
值。
<?php
if(isset($_POST['answer'])) {
$answer = $_POST['answer'];
if ($answer == "Dagny Taggart")
{
echo "Correct";
} else {
echo "wrong";
}
} else {
// Do something?
}
?>
isset
returns a boolean ( true
or false
) value. isset
返回一个布尔值( true
或false
)。 So your test will always fail because true
!= 'Dagny Taggart' 因此,您的测试将始终失败,因为
true
!='Dagny Taggart'
Add this ternary and it will work 添加此三元,它将起作用
$answer = (isset($_POST['answer'])) ? $_POST['answer'] : '';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.