0

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

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

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

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

请帮帮我。

 <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

4 回答 4

0

由于我的声誉低下,我无法发表评论,但至少有一些提示可以作为答案。

  1. 是您屏幕截图上页面的文件名formhandle.php?
  2. 使用var_dump()函数打印$_POST数组以查看您是否获得了您请求的数据
  3. 名称不必是正确的,因为在 PHP 中你不需要在创建变量时指定变量的类型,甚至初始化它。这意味着如果你没有在你的$_POST数组中得到任何东西,那么它e $querystring看起来仍然是一样的(...VALUES ( '','','','');)
于 2013-08-19T13:33:44.630 回答
0

您可以尝试如下

if(isset($_request['Volgende']))
{
$checkbox1=$_request['Sanitair'];
After this you can use the '$checkbox1' array value in your query.
}
于 2013-08-19T13:46:29.380 回答
0

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

检查一些复选框,并可能发布var_dump.$_POST['Sanitair']

于 2013-08-19T13:25:55.010 回答
0
  1. 关闭你的表格,即。</form>在开始处理 PHP 之前。

我已经编辑了你的代码:

它现在可以工作了!

<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";
    }
}
?>  
于 2013-08-19T14:56:43.467 回答