繁体   English   中英

数据库未存储复选框数据

[英]Database not storing checkbox data

所以我有一个包含几个复选框的输入表单,由于某种原因,我的数据库不想根据是否按下来存储数据。

我的密码

指数:

<table>
    <form action="/htirs" method="POST">
        <tr>
            <td>Rengjort Oppløsningsfilter</td><td><input type="checkbox" name="renOpFilt" /></td>
        </tr>
        <tr>
            <td>Ren Nal</td><td><input type="checkbox" name="renNal" /></td>
        </tr>
        <tr>
            <td>kontrSlangTank</td><td><input type="checkbox" name="kontrSlangTank" /></td>
        </tr>
        <tr>
            <td>kontrSlangTank</td><td><input type="checkbox" name="kontrSlangTank" /></td>
        </tr>
        <tr>
            <td><?php //Output for om lagringen gikk bra eller ikke.
                if(isset($test3))
                {
                    if($test3)
                    {
                        echo "Lagret i databasen!";
                    }
                    else
                    {
                        echo "Feil! Data ikke lagret!";
                    }
                }
                else
                {
                    echo "<hr/>";
                } ?>
            </td><td><input type="submit" name="lagre3" value="Lagre" /></td>
        </tr>
    </form>
</table>

路线:

Route::post('/htirs', 'HomeController@insertHTirs');

家庭控制器:

public function insertHTirs()
    {
        $now = new DateTime();
        $now->setTimezone(new DateTimeZone('Europe/Oslo'));

        $input = Input::all();

        if(Input::get('renOpFilt') == 'on')
        {
            $renOpFilt = 1;
        }
        else
        {
            $renOpFilt = 0;
        }

        if(Input::get('renNal') == 'on')
        {
            $renNal = 1;
        }
        else
        {
            $renNal = 0;
        }

        if(Input::get('kontrSlangTank') == 'on')
        {
            $kontrSlangTank = 1;
        }
        else
        {
            $kontrSlangTank = 0;
        }

        if(Input::get('kontrOgRenPad') == 'on')
        {
            $kontrOgRenPad = 1;
        }
        else
        {
            $kontrOgRenPad = 0;
        }


        try {
            DB::beginTransaction();
            $query = DB::table('hvertirsdag')->insert(array(
                'dato' => $now->format('d.m.Y'),
                'tid' => $now->format('H:i'),
                'renOpplFilter' => $renOpFilt,
                'renNal' => $renNal,
                'kontrSlangTank' => $kontrSlangTank,
                'kontrOgRenPad' => $kontrOgRenPad));

            $query2 = DB::table('ansatt_htirs')->insert(array(
                'ansattId' => '1',
                'dato' => $now->format('d.m.Y'),
                'tid' => $now->format('H:i')));
                DB::commit();

                if($query && $query2)
                {
                    $test3 = true;
                    return View::make('index')->with('test3', $test3);
                }

            }
        catch (\PDOException $e)
            {
                DB::rollback();
                $test3 = false;
                return View::make('index')->with('test3', $test3);
            }
    }

我得到的唯一回报是它无法将数据存储在数据库中,而我可以将变量返回到视图并在没有问题的情况下将它们回显,而且我一生都无法弄清楚这出了什么问题。 谢谢你的时间。

如果您希望复选框发送任何内容,则它们必须具有value参数。 复选框以某种方式工作,当您选中它们时,其值将传递到表单数据中。 如果未选中它们,则不发送任何内容。

包括与标签名称等效的复选框值。 并检查它(isset($ _ POST []))将数据存储在db中或作进一步处理

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM