Php 从my db中的复选框保存值
我正在尝试将复选框中的值存储到数据库中。到目前为止,我只能存储最后一个复选框选项。后来,我试着以某人为榜样,但我很困惑。如何确保所有数据都存储在数据库中 在我的表中,我希望包含信息的列被命名为“categories”。其余部分如下(仅2个) 所以我就这样结束了:Php 从my db中的复选框保存值,php,database,checkbox,Php,Database,Checkbox,我正在尝试将复选框中的值存储到数据库中。到目前为止,我只能存储最后一个复选框选项。后来,我试着以某人为榜样,但我很困惑。如何确保所有数据都存储在数据库中 在我的表中,我希望包含信息的列被命名为“categories”。其余部分如下(仅2个) 所以我就这样结束了: $cats = $_POST['cats']; $categories=$_POST['categories']; $str = $categories . ": " . implode(", ", $cats); 输入的名称应该是
$cats = $_POST['cats'];
$categories=$_POST['categories'];
$str = $categories . ": " . implode(", ", $cats);
输入的名称应该是
name=“cats[]”
。在这些表单中,您将得到您所检查的值数组。我没有足够的权限在之前的回答尝试中添加注释,但@Erman Belegu所说的是正确的,cats[]
应该可以做到这一点。这是代码
HTML文件
<tr>
<td><input type="hidden" name="categories" value="categories">Categories</td>
<td>
<div class="checkbox";>
<label class="checkbox_label">
<input name="cats[]" value="Accessoires" type="checkbox"
class="checkbox1"/>
Accessoires
</label>
</div>
<div class="checkbox";>
<label class="checkbox_label">
<input name="cats[]" value="Mobilier de bureau "
type="checkbox" class="checkbox1"/>
Mobilier de bureau
</label>
</div>
</td>
</tr>
<input type="submit" name="submit" value="submit"/>
类别
附属品
移动电话局
我唯一添加的是submit按钮,因此当单击submit时,我只能在php中执行一些操作,下面是相同的php代码
<?php
$cats = array();
if(isset($_POST['submit']))
{
if(isset($_POST['cats']))
{
$cats = $_POST['cats'];
}
$categories= $_POST['categories'];
$str = $categories . ": " . implode(", ", $cats);
echo $str;
}
?>
如果您选择某个内容并单击“回声”,您将看到类别:以及您选择的任何内容
希望这对我有所帮助,或者我没有完全了解你的问题
谢谢。您还没有真正说明您的问题所在。我的值没有正确地保存在我的数据库中。起初,我只保存一个值。现在,它只保存单词“categories”。现在,单词“categories”出现在我的数据库中。我在第38行收到错误消息:Warning:improde()[function.improde]:在/***/******/******/formulaires/processForm-test.php中传递的参数无效。为什么要执行名为“categories”的隐藏输入?你为什么需要它?关于你的问题,只是作为一种视觉。另外,我在上面还发布了一些关于你们和肖恩谈论的内容。谢谢你们在示例中对其进行扩展。我只是在他需要改变的时候写下地址。为你投票!嗯,实际上没有任何回音:/我知道$str与字符串有关(或者说,这是谷歌告诉我的)。每当我查看我的数据库时,我只看到“类别”一词。如果没有选中复选框,它只回显类别;如果选中一个复选框,它回显类别:选中复选框的值;如果同时选中这两个复选框,它回显类别:两个复选框的值。在我的测试服务器上尝试所有3种情况,选中一个复选框,不选中任何复选框,同时选中两个复选框,您必须点击submit以查看不同的回显结果。如果您的数据库仅显示类别,这意味着您创建的字符串仅为类别:因此,这是数据库中显示的内容。你能给我看一下你的代码吗?这样我就可以看一遍,然后我们一起试着找出答案。
<tr>
<td><input type="hidden" name="categories" value="categories">Categories</td>
<td>
<div class="checkbox";>
<label class="checkbox_label">
<input name="cats[]" value="Accessoires" type="checkbox"
class="checkbox1"/>
Accessoires
</label>
</div>
<div class="checkbox";>
<label class="checkbox_label">
<input name="cats[]" value="Mobilier de bureau "
type="checkbox" class="checkbox1"/>
Mobilier de bureau
</label>
</div>
</td>
</tr>
<input type="submit" name="submit" value="submit"/>
<?php
$cats = array();
if(isset($_POST['submit']))
{
if(isset($_POST['cats']))
{
$cats = $_POST['cats'];
}
$categories= $_POST['categories'];
$str = $categories . ": " . implode(", ", $cats);
echo $str;
}
?>