0

チェックボックスからチェックされた値を挿入しようとしていますが、機能していません。私の問題は、それらが最初に適切に設定されていないことだと思います。ループを使用しようとしていますが、間違っていると思います:P

私の「イセット」:

if(!empty($_POST))
{

    if(empty($_POST['name'])) {die("Please enter a Your Name.");}
    if(empty($_POST['ckboxes[]'])) {die("Please check at least one box.");}
    if(empty($_POST['ddown'])) {die("Please select a value.");}
    if(empty($_POST['txtDate'])) {die("Please type in a date.");}
    if(empty($_POST['agdis'])) {die("Please agree or disagree.");}
    if(empty($_POST['yn'])) {die("Please select Yes or No.");}

そして挿入プロセス:

//Insert for Checkboxes//
    /////////////////////////
    $query2 = "
        INSERT INTO coffee_ckbx (
            white,
            green,
            red,
            blue
        ) VALUES (
            :white,
            :green,
            :red,
            :blue   
        )
    ";

    foreach($_POST['ckboxes'] as $check){array($check);}

    $query_params2 = array(
        ':white' => $check['1'],
        ':green' => $check['2'],
        ':red' => $check['4'],
        ':blue' => $check['5']
    );

    try
    {
        // Execute the query to create the user
        $stmt = $db->prepare($query);
        $result = $stmt->execute($query_params);

        $stmt2 = $db->prepare($query2);
        $result2 = $stmt2->execute($query_params2);
    }
    //kept the catch out and other code due to lengthiness.

ここに私のhtmlがあります:

            <li>
            <label for='ck-boxes'>Select from the check boxes: </label>
            <input type="hidden" name="ckboxes" value="0" />
            <input type='checkbox' id='' name='ckboxes' value='white'/>
            <input type='checkbox' id='' name='ckboxes' value='green'/>
            <input type='checkbox' id='' name='ckboxes' value='red'/>
            <input type='checkbox' id='' name='ckboxes' value='blue'/>
        </li>

何か案は?前もって感謝します :)

4

1 に答える 1

0

名前の末尾にを追加[]してみてください。これにより、これが配列であることを PHP に伝えることができます。

<input type="hidden" name="ckboxes[]" value="0" />
<input type='checkbox' id='' name='ckboxes[]' value='white'/>
<input type='checkbox' id='' name='ckboxes[]' value='green'/>
<input type='checkbox' id='' name='ckboxes[]' value='red'/>
<input type='checkbox' id='' name='ckboxes[]' value='blue'/>

また、数字を引用しないでください。引用符内のものは次のように扱われます。string

例としてそう$check['1']あるべき$check[1]です。

于 2013-07-08T19:54:59.120 に答える