acctman
acctman

Reputation: 4349

detect unchecked checkbox php

Is there a way to check of a checkbox is unchecked with php? I know you can do a hidden field type in html but what about with just php when the form is submitted? I tried below no luck.

if(!isset($_POST['server'])||$_POST['server']!="yes"){
        $_POST['server']     == "No";
}

Upvotes: 4

Views: 24509

Answers (4)

Rizwan
Rizwan

Reputation: 308

This is an old question, but for people looking for this....

Better approach to Matt's answer is to use $_SERVER['REQUEST_METHOD'] to check if form was submitted:

if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
    //form was submitted...let's DO this.

    if (!isset($_POST['checkboxname'])) {
        // checkbox was not checked...do something
    } else {
        // checkbox was checked. Rock on!
    }
}

Upvotes: 2

Christian Igay
Christian Igay

Reputation: 35

Try this:

$checked = $_POST['notif'];
foreach($checked as $ch){
    if($ch == $i){
       /add element to checked set
       $array_checked[]=$ch;
    }
}
for($i=1;$i<6;$i++){
    if(in_array($i,$array_checked)){
        //do for checked
    }else{
        //do for unchecked
    }
}

Upvotes: -1

devWaleed
devWaleed

Reputation: 475

$checkedfeild = @$_POST["yourfeildname"];

if(isset($checkedfeild))
{
 //Code here
}
else
{
echo"Not checked";
}

Upvotes: -1

Matt
Matt

Reputation: 7040

If a checkbox is not checked it will not be posted. if(!isset($_POST['checkboxname'])) will do the trick.

Be aware, though, you should at least submit something so that you know the form was submitted in the first place.

if (isset($_POST['formWasSubmitted'])) {
    //form was submitted...let's DO this.

    if (!isset($_POST['checkboxname'])) {
        // checkbox was not checked...do something
    } else {
        // checkbox was checked. Rock on!
    }
}

Upvotes: 17

Related Questions