我在HTML文件中有一個複選框:PHP複選框驗證,如果其他問題
<input type="checkbox" id="kopia" name="kopia" class="form-input" value="0">
我試圖傳遞到PHP文件(通過AJAX)一對夫婦的價值觀,其中之一是通過一個複選框(簡體)創建布爾值:
name: "kopia"
value: document.getElementById("kopia").checked
如果我通過控制檯檢查,如果檢查和false
如果不加以控制它返回true
。
document.getElementById("kopia").checked
如果我通過PHP文件檢查,它的行爲是一樣的:
echo $_POST['kopia']
但是,當我寫的東西是這樣的:
$checkbox = $_POST['kopia'];
if ($checkbox){
echo "hey";
} else {echo "bye";}
它總是返回 「哎」,無論如果複選框被選中或沒有。我不明白。即使我做這樣的事情:
$checkbox = $_POST['kopia'];
if ($checkbox){
echo $checkbox;
} else {echo "bye";}
它永遠不會返回「再見」,如果沒有被選中此複選框或沒有,但返回true
如果檢查和false
如果不加以控制的事情。這件東西已經被盜了幾個小時,這也是幾個小時。任何想法,提示?
我假設你省略了一些改變值的JS。在PHP中,'$ _POST'值總是字符串,所以你的'if'需要布爾值。試試'if($ checkbox ==「true」)'或者使用'0'和'1'。 – AbraCadaver
'if($ checkbox ==「true」)'這是一個等於「true」的字符串;布爾的'if($ checkbox == true)'@AbraCadaver兩種不同的動物;-) –
@ Fred-ii-重新閱讀我的評論。你將不會在'$ _POST'變量中獲得布爾值。這就是爲什麼當OP'echo $ checkbox;'他們得到「true」或「false」 – AbraCadaver