PHP表单一直给我相同的响应

PHP表单一直给我相同的响应,php,html,forms,if-statement,switch-statement,Php,Html,Forms,If Statement,Switch Statement,非常简短的简单问答应用程序。浏览器会不断返回正确的响应,即使它不正确 <?php $answer = (isset($_POST['answer']));` if ($answer == "Dagny Taggart")` { echo "Correct"; } else { echo "wrong"; } ?> isset返回布尔值(true或false)。所以你的测试总是会失败,因为true!='达尼·塔加特' 加上这个三元数,它就会起作用 $answer = (iss

非常简短的简单问答应用程序。浏览器会不断返回正确的响应,即使它不正确

<?php
$answer = (isset($_POST['answer']));`
if ($answer == "Dagny Taggart")`
{
echo "Correct";
 } else {
 echo "wrong";
 }
 ?>

isset
返回布尔值(
true
false
)。所以你的测试总是会失败,因为
true
!='达尼·塔加特'

加上这个三元数,它就会起作用

$answer = (isset($_POST['answer'])) ? $_POST['answer'] : '';

试试这个。您当前正在将
$answer
设置为
isset($\u POST['answer']
),这意味着只要设置了
$\u POST['answer']
,您的$answer将是
TRUE
。我会检查它是否已设置,然后将其设置为
$\u POST

<?php
if(isset($_POST['answer'])) {
    $answer = $_POST['answer'];
    if ($answer == "Dagny Taggart")
    {
        echo "Correct";
    } else {
        echo "wrong";
    }
} else {
// Do something?
}

?>


那么,如果您的示例中没有设置
$\u POST['answer']
,会发生什么情况?@Machavity他们回来检查我的修订答案;)第2行和第3行的额外勾号是什么:“`”?