簡體   English   中英

使用ajax和php返回true的條件,即使它是假的

[英]Condition if return true with ajax and php even it is false

我使用ajax將表單發送到php,表單工作正常,但復選框無法正常使用if條件。

var_dump($check1);的輸出var_dump($check1); 錯誤或真實它工作正常,輸出沒問題。

echo " checked";的輸出echo " checked"; var_dump($check1);甚至var_dump($check1);檢查所有時間var_dump($check1); 是假的。

我的錯誤在哪里?為什么輸出始終為真?

send_ajax.php

<div id="txt">Result</div>
<input type="text" name="in1" id="in1" required="required"/><br>
<input type="text" name="in2" id="in2" required="required"/>
<input type="checkbox"   name="checkbox" id="checkbox"  required="required"/>
<button type="submit" class="" name="up" id="up" >Sign Up</button>
<script>

                $("#up").click(function(){
                    var in1=$("#in1").val();
                    var in2=$("#in2").val();
                   var checkbox1=$('#checkbox').is(':checked');
               //  var checkbox1=$("#checkbox").val();
                    $.ajax({
                        url:'confirm.php',
                        method:'POST',
                        data:{
                            in1:in1,
                            in2:in2,
                            checkbox1:checkbox1
                        },
                        success:  
                         function(data) {
                            $("#txt").html(data);
                        }
                    });
    })

        </script>

confirm.php

<?php

$in1=$_POST["in1"];
$in2=$_POST["in2"];
$check1=$_POST["checkbox1"];


var_dump($check1);
echo "<br>";
if($check1==true){
    echo " checked";
}
else{
    echo " not checked";
}
?>

您正在使用

$check1=$_POST["checkbox1"];

但名稱是復選框

$check1=$_POST["checkbox"];

布爾值的傳輸和服務器端的檢查可能由於低鍵入而導致意外。

如果以這種方式啟動變量會發生什么?

$check1= $_POST["checkbox1"] == 'true' ? true : false;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM