PHP: 带复选框的未定义索引

PHP: Undefined index with checkboxes

我一直收到以下错误: 错误取决于选中了哪个复选框。 数据传递到数据库,但出现错误。 我想我需要先检查一下还是换点东西? table 中的记录设置为布尔值。 它需要做的是通过按下提交按钮保存复选框的值(选中= 1/未选中= 0)并将其保存在数据库中。 它这样做但并非没有显示错误。

>Notice: Undefined index: dekblad1_generfd in D:\Apps\Xampp\htdocs\el_gusto\toevoegen_handler.php on line 16
<br>
Notice: Undefined index: dekblad1_zwaar_generfd in D:\Apps\Xampp\htdocs\el_gusto\toevoegen_handler.php on line 17

我的代码:

PHP

<?php

//
$datum = $_POST['datum'];
$merk = $_POST['merk'];
$module = $_POST['module'];
$comm_naam = $_POST['comm_naam'];
$land = $_POST['land'];
$locatie = $_POST['locatie'];
$prijs = $_POST['prijs'];

//KOUD
//KOUD - DEKBLAD
line 14 $dekblad1_glad = $_POST['dekblad1_glad'];
line 15 $dekblad1_licht_generfd = $_POST['dekblad1_licht_generfd'];
line 16 $dekblad1_generfd = $_POST['dekblad1_generfd'];
line 17 $dekblad1_zwaar_generfd = $_POST['dekblad1_zwaar_generfd'];
line 8 $dekblad1_grof_generfd = $_POST['dekblad1_grof_generfd'];

if($dekblad1_glad=="on") $dekblad1_glad=1; else $dekblad1_glad=0;
if($dekblad1_licht_generfd=="on") $dekblad1_licht_generfd=1; else                         $dekblad1_licht_generfd=0;
if($dekblad1_generfd=="on") $dekblad1_generfd=1; else $dekblad1_generfd=0;
if($dekblad1_zwaar_generfd=="on") $dekblad1_zwaar_generfd=1; else $dekblad1_zwaar_generfd=0;
if($dekblad1_grof_generfd=="on") $dekblad1_grof_generfd=1; else $dekblad1_grof_generfd=0;

$connect = mysql_connect("localhost", "root", "") or die ("Couldn't connect to the database!");
mysql_select_db("el_gusto") or die ("Couldn't find db!");

$query = mysql_query("INSERT INTO sigaren(datum, merk, module, comm_naam, land, locatie, prijs, dekblad1_glad, dekblad1_licht_generfd, dekblad1_generfd, dekblad1_zwaar_generfd, dekblad1_grof_generfd) VALUES('$datum','$merk','$module','$comm_naam','$land','$locatie','$prijs','$dekblad1_glad','$dekblad1_licht_generfd','$dekblad1_generfd','$dekblad1_zwaar_generfd','$dekblad1_grof_generfd')");

if($query) {
    echo "Toevoeging gelukt!";  
}
else{
    echo mysql_error(); 
}   

?>

HTML

<input type='checkbox' name="dekblad1_glad" value="1">glad
<input type='checkbox' name="dekblad1_licht_generfd" value="1">licht generfd
<input type='checkbox' name="dekblad1_generfd" value="1">generfd
<input type='checkbox' name="dekblad1_zwaar_generfd" value="1">zwaar generfd
<input type='checkbox' name="dekblad1_grof_generfd" value="1">grof generfd

感谢您的帮助并花时间阅读本文!

能否再提供一点 HTML 代码。此时我看不到您是否使用 GET 或 POST 方法,因此没有内容从您的复选框传递。 更多信息:http://www.w3schools.com/tags/att_form_method.asp

设置时$dekblad1_grof_generfd

做类似的事情:

$dekblad1_grof_generfd = isset($_POST['dekblad1_grof_generfd']) ? $_POST['dekblad1_grof_generfd'] : 'Default Value'; // or ''

同样,对于所有的变量,否则它们会产生类似的通知。

同时勾选 isset

错误是 dekblad1_grof_generfd 未在

中定义
$_POST['dekblad1_grof_generfd']