Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php “输入”复选框在POST中始终返回0_Php_Html_Checkbox - Fatal编程技术网

Php “输入”复选框在POST中始终返回0

Php “输入”复选框在POST中始终返回0,php,html,checkbox,Php,Html,Checkbox,我试图在html表单中使用复选框,并通过post将它们发送到MySQL数据库。但无论复选框是否选中,我总是得到0 这是html表单: <form action = "MediaList2.php" method = "POST"> <li><input type="checkbox" name="gradea" value="1"> CPC for Grade A websites<br><input type='hid

我试图在html表单中使用复选框,并通过post将它们发送到MySQL数据库。但无论复选框是否选中,我总是得到0

这是html表单:

   <form action = "MediaList2.php" method = "POST">
        <li><input type="checkbox" name="gradea" value="1"> CPC for Grade A websites<br><input type='hidden' value='0' name='gradea'></li>
        <li><input type="checkbox" name="gradeb" value="1"> CPC for Grade B websites<br><input type='hidden' value='0' name='gradeb'></li>
        <li><input type="checkbox" name="gradec" value="1"> CPC for Grade C websites<br><input type='hidden' value='0' name='gradec'></li>
        <li><input type="text" name="clicksno" placeholder="if you want a specific number for your clicks please mention it here ">Number of Clicks<br></li>
        <li> Duration<input type="text" name="start_date" class="form-control" id="start_date" placeholder="yyyy-mm-dd" /> <span> TO </span>  <input type="text" name="end_date" class="form-control" id="end_date" placeholder="yyyy-mm-dd" />
 </li>
        <li> Budget <input type ="text" name ="budget" required></li>

             <button type= "submit">Submit</button> 
             </form>
这是我在php中的storinCPC函数:

public function storeinCPC($gradea , $gradeb, $gradec, $clicksno, $start_date, $end_date, $budget, $campaignname, $email)
    {                                                                            // Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
                                                                                      // Check connection
                                                                                       if ($conn->connect_error)
                                                                                       {
                                                                                       die("Connection failed: " . $conn->connect_error);
                                                                                       }                                                                             
    $q1 = "SELECT * from CPC where tocampaign = '$campaignname' AND toperson = '$email' " ;
    $res1 = $conn -> query($q1);
    $count = $res1 ->num_rows;
    if($count != null )
    {
        $query = "UPDATE CPC set clicksno ='$clicksno' , GradeA = '$gradea', GradeB='$gradeb', GradeC = '$gradec',budget='$budget', tocampaign='$campaignname', startdate='$start_date', enddate='$end_date', toperson='$email', updated_at = NOW()  WHERE   toperson = '$email' AND tocampaign = '$campaignname'";
    }
    else if($count ==0)
    {
    $query = "INSERT INTO CPC (clicksno , GradeA, GradeB, GradeC,budget, tocampaign, startdate, enddate, toperson, created_at, updated_at ) VALUES ('$clicksno', '$gradea', '$gradeb' , '$gradec', '$budget', '$campaignname', '$start_date', '$end_date', '$email', NOW(), NOW())";
    }
    $result = $conn->query($query);
    }

查看这些输入行中的一行可以清楚地了解您的主要问题:

<li><input type="checkbox" name="gradea" value="1"> CPC for Grade A websites<br><input type='hidden' value='0' name='gradea'></li>
  • A级网站CPC

  • 您是否注意到您创建了一个名为
    gradea
    的复选框输入字段,并在创建了一个名为
    value='0'
    的隐藏输入字段后立即覆盖了第一个输入字段?

    查看这些输入行中的一行可以清楚地了解您的主要问题:

    <li><input type="checkbox" name="gradea" value="1"> CPC for Grade A websites<br><input type='hidden' value='0' name='gradea'></li>
    
  • A级网站CPC

  • 您是否注意到您创建了一个名为
    gradea
    的复选框输入字段,并在创建了一个名为
    value='0'
    的隐藏输入字段后立即覆盖了第一个字段?

    我添加了隐藏值,以便复选框即使未选中也会发送一个值!如果这种方法是错误的,我该怎么做呢将使
    $gradea
    成为布尔值。或者如果您想要1或0,
    $gradea=isset($\u POST['gradea'])?1 : 0;。应将隐藏的输入置于复选框之前。无论何时选中该复选框,其值将在提交时覆盖隐藏输入的值,否则将提交隐藏值。@user3259983!我添加了隐藏值,这样复选框即使未选中也会发送一个值!如果这种方法是错误的,我该怎么做呢
    将使
    $gradea
    成为布尔值。或者如果您想要1或0,
    $gradea=isset($\u POST['gradea'])?1 : 0;。应将隐藏的输入置于复选框之前。无论何时选中该复选框,其值将在提交时覆盖隐藏输入的值,否则将提交隐藏值。@user3259983!您的代码对SQL注入开放。你真的应该解决这个问题。对所有用户提供的数据使用准备好的语句和绑定参数。为什么要这样做?您的代码可以接受SQL注入。你真的应该解决这个问题。对所有用户提供的数据使用准备好的语句和绑定参数。为什么要使用?