[英]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.