处理php时未定义的索引,其中输入元素在html中具有相同的名称


Undefined index when processing php with input elements having same name in html

HTML代码:

<div class="form-group">
    <label for="gender">Gender&nbsp;&nbsp;</label>
        <div class="btn-group">
            <button type="button" class="btn btn-default" name="gender">&nbsp; Male &nbsp;</button>
            <button type="button" class="btn btn-default" name="gender">Female</button>
        </div>
</div>

尝试在php中处理提交为:

$gender=$_POST['gender'];
echo $gender;

以及获取未定义索引:性别错误
我猜这个错误可能是由于两个按钮的name="gender"相同
请帮我解决问题!

您需要为这两个按钮添加一个值。

<div class="form-group">
    <label for="gender">Gender&nbsp;&nbsp;</label>
        <div class="btn-group">
            <button type="button" class="btn btn-default" name="gender" value="male">&nbsp; Male &nbsp;</button>
            <button type="button" class="btn btn-default" name="gender" value="female">Female</button>
        </div>
</div>

在上面的代码中找不到FORM标记。如果你想用$_POST获取值,你需要DIV周围的FORM。此外,你还需要value属性。

<form method="POST">
    <fieldset class="form-group">
        <legend for="gender">Gender&nbsp;&nbsp;</legend>
        <div class="btn-group">
        <button type="button" class="btn btn-default" name="gender[]" value='Male'>&nbsp; Male &nbsp;</button>
        <button type="button" class="btn btn-default" name="gender[]" value='Female'>Female</button>
        </div>
    </fieldset>
</form>

现在$_POST['gender']将是一个数组。

注意:如果<button type="button"不工作,则使用<button type="submit"