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

すべてのフィールドが空 ("") の場合は、チェックされていないことを意味します。

いくつかのチェックボックスをオンにして、var_dumpの を投稿してください$_POST['Sanitair']

于 2013-08-19T13:25:55.010 に答える
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
  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 に答える