簡體   English   中英

如何檢查是否只選中了一個或兩個復選框

[英]How can i check if only one or both checkboxes are checked

我必須檢查是否選中了一個復選框,或者兩個都選中。 但是問題是,如果我嘗試我的代碼。 該網站有錯誤(“此網站無法正常工作”)。

我嘗試了這個:

    $lw1l = $_POST['lw1l'];
    $lw1s = $_POST['lw1s'];
    $lw2l = $_POST['lw2l'];
    $lw2s = $_POST['lw2s'];
    if(isset($lw1l)){
      if(isset($lw1s)){
        $lw1 = "read / write";
      }else{
        $lw1 = "read ";
      }
    }else{
      isset($lw1s){
        $lw1 = "write";
      }
    }

    if(isset($lw2l)){
      if(isset($lw2s)){
        $lw2 = "read/ write";
      }else{
        $lw2 = "read";
      }
    }else{
      if(isset($lw2s)){
        $lw2 = "write";
      }
    }

但這行不通...

如果有人可以幫助您會很高興:D

這是一個易於閱讀和維護的版本:

function getPermissions($key){
    $s_is_set = isset($_POST[$key."s"]);
    return isset($_POST[$key."l"])
        ? $s_is_set
            ? 'read / write'
            : 'read' 
        : 'write';
}

$lw1 = getPermissions('lw1');
$lw2 = getPermissions('lw2');

不要聲明變量,因為如果用戶未單擊復選框,則該變量不存在。

嘗試這個 :

if(isset($_POST['lw1l'])){
    if(isset($_POST['lw1s'])){
        $lw1 = "read / write";
    }else{
        $lw1 = "read ";
    }
}else{
    if(isset($_POST['lw1s'])){
        $lw1 = "write";
    }
}

if(isset($_POST['lw2l'])){
    if(isset($_POST['lw2s'])){
        $lw2 = "read/ write";
    }else{
        $lw2 = "read";
    }
}else{
    if(isset($_POST['lw2s'])){
        $lw2 = "write";
    }
}

暫無
暫無

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

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