取消选中时未选中复选框php

时间:2016-06-06 10:17:15

标签: php forms checkbox

我的网站上有一个非常基本的功能,用户勾选一个框,如果勾选该框,它将执行查询并取消设置会话。如果不是,它将不会执行查询,但会破坏会话。

这是非常基本的,但由于某些原因,如果取消选中该复选框,则PHP不会注册。它会被检查,而不是后者。

这是我的PHP:

if(isset($_POST) && !empty($_POST)){
    $la = ($_POST['la'] == "on") ? 1 : 0; // if the box is checked, return 1. if not, return 0
    if($la == 1 || $la == 0){
        if($la == 1){
            // where I execute the query...
            session_start();
            session_unset();
            session_destroy();
            redirect('./');
            exit();
        } else if($la == 0) {
            session_start();
            session_unset();
            session_destroy();
            redirect('./');
            exit();
        }
    } else {
        redirect('./');
    }
}

感谢所有帮助:)

2 个答案:

答案 0 :(得分:0)

以下是代码,看看它是否有效 -

<?php
session_start();//session start should be in the beginning of the code
    if(isset($_POST) && !empty($_POST)){
        $la = isset($_POST['la']) ? 1 : 0; // if the box is checked, return 1. if not, return 0
        if($la == 1 || $la == 0){
            if($la == 1){
                // where I execute the query...                
                session_unset();
                session_destroy();
                redirect('./');
                exit();
            } else if($la == 0) {                
                session_unset();
                session_destroy();
                redirect('./');
                exit();
            }
        } else {
            redirect('./');
        }
    }

答案 1 :(得分:0)

如果我没弄错,没有直接选中复选框就不会发送变量。 当你没有选择不发送时,这个变量$ _POST ['la']。 也许您需要使用此代码来控制这种情况:

if (isset($_POST['la'])) {
    ...
}