复选框问题并在数据库中添加值

时间:2013-08-19 12:58:00

标签: php mysql checkbox

我正在尝试在我的数据库中添加一些复选框的值,但它并没有真正起作用。它给出了“”值:

http://img692.imageshack.us/img692/2844/kbyl.png

这是它创建的查询: INSERT INTO oudebadkamer(WC,Bad,Douche,Wasbak)价值观('','','','');

连接正常且名称正确,因为它在所有字段中添加了“”。

请帮帮我。

 <form action="formhandle.php" method="POST">

    Wat zit er in uw huidige badkamer?<br />
    <input type="checkbox" name="Sanitair[]" value="WC" checked>WC<br />
    <input type="checkbox" name="Sanitair[]" value="Douche" checked>Douche<br />        
    <input type="checkbox" name="Sanitair[]" value="Bad" checked>Bad<br />  
    <input type="checkbox" name="Sanitair[]" value="Wasbak" checked>Wasbak<br />    

    <input type="submit" name="Volgende" value="Volgende"/><br />
    <?php 
    $checkbox1 = $_POST['Sanitair'];
    if(isset ($_POST ['Volgende']))
    {           
            $querystring = "INSERT INTO oudebadkamer(WC, Bad, Douche, Wasbak)
                          VALUES (
                          '"
                          .$checkbox1[0]."','"
                          .$checkbox1[1]."','"
                          .$checkbox1[2]."','"
                          .$checkbox1[3]."');";
            mysql_query($querystring)or die(mysql_error());

            echo $querystring;          
    }
    ?>  
    </form> 

4 个答案:

答案 0 :(得分:0)

如果所有字段都为空(“”),则表示它们未被检查。

选中一些复选框,然后发布var_dump的{​​{1}}。

答案 1 :(得分:0)

由于我的声誉很低,我不能发表评论,但至少有一些提示作为答案。

  1. 是屏幕截图formhandle.php?
  2. 上您网页的文件名
  3. 使用var_dump()函数打印$_POST数组以查看您是否获得了所请求的数据
  4. 名称不必是正确的因为在PHP中你不需要指定变量的类型,当你创建它甚至inicialize它。这意味着,如果您未在$_POST数组中找到任何内容e $querystring仍然看起来相同(...VALUES ( '','','','');)

答案 2 :(得分:0)

您可以尝试以下

if(isset($_request['Volgende']))
{
$checkbox1=$_request['Sanitair'];
After this you can use the '$checkbox1' array value in your query.
}

答案 3 :(得分:0)

  1. 关闭你的表格即。在开始处理PHP之前</form>
  2. 我编辑了你的代码:

    它现在可以使用了!

    <form action="formhandle.php" method="POST">
    
    Wat zit er in uw huidige badkamer?<br />
    <input type="checkbox" name="Sanitair[]" value="WC" checked>WC<br />
    <input type="checkbox" name="Sanitair[]" value="Douche" checked>Douche<br />        
    <input type="checkbox" name="Sanitair[]" value="Bad" checked>Bad<br />  
    <input type="checkbox" name="Sanitair[]" value="Wasbak" checked>Wasbak<br />    
    
    <input type="submit" name="Volgende" value="Volgende"/><br />
    
    </form> 
    <?php 
    if(isset ($_POST ['Volgende']))
    {    
        $val1 =$val2 = $val3 = $val4 = FALSE; // declaring all variables to be false
    
        if(isset($_POST['Sanitair'][0]))
        {
            $val1 = $_POST['Sanitair'][0]; // if value is set then put the value in variable else keep it empty
        }
        else
        {
           $val1 = '';
        }
    
        if(isset($_POST['Sanitair'][1]))
        {
            $val2 = $_POST['Sanitair'][1];
        }
        else
        {
           $val2 = '';
        }
    
        if(isset($_POST['Sanitair'][2]))
        {
            $val3 = $_POST['Sanitair'][2];
        }
        else
        {
           $val3 = '';
        }
    
        if(isset($_POST['Sanitair'][3]))
        {
            $val4 = $_POST['Sanitair'][3];
        }
        else
        {
           $val4 = '';
        }
    
        if($val1 or $val2 or $val3 or $val4)
        {
             $querystring = "INSERT INTO oudebadkamer (`WC`, `Bad`, `Douche`, `Wasbak`)
                          VALUES ( '".$val1."','".$val2."','".$val3."','".$val4."')";
            mysql_query($querystring)or die(mysql_error());
    // use backtics with column name while inserting it will help reducing future  errors
            echo $querystring;  
        }
        else
        {
            echo "no Checkbox selected";
        }
    }
    ?>