PHP:带有复选框

时间:2015-07-26 13:30:53

标签: php html undefined-index

我一直收到以下错误: 错误取决于已选中的复选框。 数据传递到数据库,但有些东西给出了错误。 我想我需要先做一个检查或改变一些东西? 表中的记录设置为boolean' s。 它需要做的是通过按下提交按钮保存复选框的值(checked = 1 / not checked = 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

欢呼帮助并花时间阅读本文!

2 个答案:

答案 0 :(得分:0)

请你再提供一些HTML代码。此时我不知道您是否使用GET或POST方法,因此没有内容从您的复选框传递。 有关详细信息:http://www.w3schools.com/tags/att_form_method.asp

答案 1 :(得分:0)

当您设置$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']