使用复选框和输入字段插入数据库

时间:2011-12-02 22:11:41

标签: php checkbox insert

我的表格如下:

 <input type="checkbox" name="type" value="wash"><label>Wash</label><br>
 <input type="checkbox" name="type" value="no wash"><label>No Wash</label><br>
        <label>Other (Specify)</label><br>
        <input name="type"><br>

如果您注意到所有三个我使用“type”作为输入名称。关键是用户将获得两个选项,如果两个选项都不适用于他们,他们应该在其他选项中输入一个值。现在在数据库中我有字段类型,所以如果他们选择前两个并在字段中输入一个值,或者如果他们只在字段中写入一个值,我仍然希望它成为类型字段的一部分。那么我怎么能这样做,如果他们选择输入字段,它也应该插入“类型”。

2 个答案:

答案 0 :(得分:1)

首先,您最好使用单选按钮而不是复选框。 然后你可以做以下

<input type="radio" name="type" value="wash"/><label>Wash</label>
<input type="radio" name="type" value="no_wash"/><label>No wash</label>
<input type="radio" name="type" value="other"/><label>Other</label>
<input type="text" name="other_type"/>

您的PHP将如下所示:

if ($_REQUEST["type"] == "wash"){
    echo "Wash me please";
}else if ($_REQUEST["type"] == "no_wash"){
    echo "no wash";
}else if ($_REQUEST["type"] == "other"){
    echo "you want to ".$_REQUEST["other_type"];
}

如果你使用JS,你甚至可以禁用文本框,除非用户选择第三个选项。


编辑:如果我的评论正确,那将是最简单的:

<input type="checkbox" name="wash_me"/><label>Wash your car?</label>
<input type="text" name="other"/><label>What else can we do for you?</label>

PHP

if (isset($_REQUEST["wash_me"]){
    echo "wash my car please";
}
if (strlen($_REQUEST["other"]) != 0){
    echo "and do the following: ".$_REQUEST["other"];
}

答案 1 :(得分:1)

你的意思是这样吗?

HTML:

<input type="checkbox" name="type[]" value="wash"/><label>Wash</label>
<input type="checkbox" name="type[]" value="no_wash"/><label>No wash</label>
Other type:
<input type="text" name="other_type"/>

PHP:

if (!empty($_REQUEST['other_type']))
    $_REQUEST['type'][] = $_REQUEST['other_type'];
var_dump($_REQUEST['type']);