我需要这个if / else语句的帮助

时间:2016-06-15 14:04:35

标签: php html

我正在为我的网站做一个联系页面,文本是葡萄牙文,因为我是巴西人,但我的问题如下:当我用?resp=true发送参数时,它总是进入第一个条件,我无法弄清楚出了什么问题。

当参数为?resp=true时,为什么满足第一个条件? ,这是我目前遇到问题的代码:

<?php if (isset($_GET["resp"]) && $_GET["resp"] == false) { ?>
    <div class="row row-centered" style="padding-top: 10px;">
        <div class="alert alert-success">
            <button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>
            <strong style="text-align: center;">Sua mensagem foi enviada com sucesso.</strong>
        </div>
    </div>
<?php } elseif(isset($_GET["resp"]) && $_GET["resp"] == true) { ?>
    <div class="row row-centered" style="padding-top: 10px;">
        <div class='alert alert-danger'>
            <button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>
            <strong style="text-align: center;">Desculpe, parece que o servidor de email não esta respondendo. Por favor, tente novamente mais tarde!</strong>
        </div>
    </div>
<?php } ?>

2 个答案:

答案 0 :(得分:2)

通过POST或GET方法(即在REQUEST中)收到的所有值都自动被视为字符串。所以试着检查:

<?php 
if($_GET['resp'] == true) {}
?>

将返回false,因此不会进入循环。你想要的是检查字符串值(而不是布尔值)

<?php 
if($_GET['resp'] == 'true') {)
?>

答案 1 :(得分:0)

您实际上是在尝试将字符串值与布尔值进行比较。因为表单提交的所有内容都只是字符串形式。所以我用&#39; true&#39;替换了布尔值true和false。和&#39; false&#39;

试试这段代码:

<?php if (isset($_GET["resp"]) && $_GET["resp"] == 'false') { ?>
    <div class="row row-centered" style="padding-top: 10px;">
        <div class="alert alert-success">
            <button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>
            <strong style="text-align: center;">Sua mensagem foi enviada com sucesso.</strong>
        </div>
    </div>
<?php } elseif(isset($_GET["resp"]) && $_GET["resp"] == 'true') { ?>
    <div class="row row-centered" style="padding-top: 10px;">
        <div class='alert alert-danger'>
            <button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>
            <strong style="text-align: center;">Desculpe, parece que o servidor de email não esta respondendo. Por favor, tente novamente mais tarde!</strong>
        </div>
    </div>
<?php } ?>