选中复选框

时间:2012-02-20 20:48:36

标签: php checkbox

我不知道如何做以下事情并希望得到一些帮助。 我有一个php文件打开并在.txt文件的数组中显示一些细节,并选中复选框。一旦用户选中了这些复选框并点击了,我需要另一个php文件来识别选中的复选框并显示数据。

编辑:您忘记了详细信息,与数据库关联的复选框位于数组中,因此当用户输入搜索词时,只会弹出相关信息和复选框。这意味着所有复选框都具有相同的ID并且相同。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

复选框是:

<input type="checkbox" name="checkbox-name" value="1"/>

如果选中此复选框并提交此表单,则在目标页面上的复选框为:

$_POST['checkbox-name']=1;

如果未定义复选框,则不设置POST值,例如:

if(!isset($_POST['checkbox-name'])){ echo 'not selected'; }

编辑:

如果需要数组,那么同一数组的所有复选框的名称应该是:

<input type="checkbox" name="my-checkboxes[]" value="first"/>

然后可以通过以下方式在PHP中循环:

foreach($_POST['my-checkboxes'] as $values){
    echo $values;
}

同样适用于可以作为数组发送的其他HTML表单元素。

答案 1 :(得分:1)

假设您的初始页面包含以下内容:

<form action="results.php" method="POST">

<input type="checkbox" name="checkbox1" value="1" />
<input type="checkbox" name="checkbox2" value="2" />
<input type="checkbox" name="checkbox3" value="3" />
<input type="submit" value="Submit" />

</form>

您的results.php应该是这样的:

<?php

echo isset($_POST['checkbox1']) ? "Box 1 is selected.<br />" : "Box 1 is not selected.<br />";
echo isset($_POST['checkbox2']) ? "Box 2 is selected.<br />" : "Box 2 is not selected.<br />";
echo isset($_POST['checkbox3']) ? "Box 3 is selected." : "Box 3 is not selected.";

?>

编辑:您也可以将它们粘贴到变量中,如下所示:

$cb1 = isset($_POST['checkbox1']) ? true : false;
$cb2 = isset($_POST['checkbox2']) ? true : false;
$cb3 = isset($_POST['checkbox3']) ? true : false;

并做一些if陈述:

if (!$cb1 && $cb2 && $cb3) {
    echo "Option 1 is pretty much essential, or your gerbil 
    could escape within the first few hours of ownership.";
} else if ($cb1 && $cb2 && !$cb3) {
    echo "If you don't get him a water bottle, he may turn vicious.";
} else if (!$cb1 && !$cb2 && !$cb3) {
    echo "Right, that's it, we're calling the RSPCA!";
}

等等......

答案 2 :(得分:0)

我想这些复选框以HTML格式显示。如果是这种情况,您可以使用jQuery:

$("input:checkbox[name=type]:checked").each(function()
{
 // do your stuff here
});