PHP检查至少选择了两个按钮

时间:2014-11-07 08:08:57

标签: php

我有一个表单要求用户选择/点击至少两个按钮才能提交表单

<button type="button" name="Investor-agree-one">I AGREE</button>
<button type="button" name="Investor-agree-two">I AGREE</button>
<button type="button" name="Investor-agree-three">I AGREE</button>
<button type="button" name="Investor-agree-four">I AGREE</button>
<button type="button" name="Investor-agree-five">I AGREE</button>

如何使用php验证表单,选择至少两个按钮并将用户重定向到一个页面,如果不重定向到另一个页面?所以基本上就像:

if(buttonSelected>=2){
    goto this page
}else{
    goto another page
    }

如何使用按钮元素指示是否首先选择按钮?

2 个答案:

答案 0 :(得分:2)

这很简单,

为您的按钮提供相同的“名称”和唯一值 所以我们假设我们有这个按钮标签:

<form method="post">
<button name="somebutton" value="buttonone">
<button name="somebutton" value="buttontwo>
<button name="somebutton" value="buttontwo">
</form>

你的php应该是这样的:

<?php
$button = $_POST['somebutton'];
if($button == "buttonone"){
    //do button 1 stuff, in your example:
    header('location: someurl.php');
}
if($button == "buttontwo"){
    // do button 2 stuff
}
?>

答案 1 :(得分:1)

您可以使用复选框而不是按钮,因此您的代码可能是这样的:

<?php
    if(isset($_POST['agree_one'])) {
        // do something
    }
?>
<form method="post">
    <label>
        <input type="checkbox" name="agree_one" value="1"/>
        I Agree
    </label>
    <label>
        <input type="checkbox" name="agree_two" value="1"/>
        I Agree
    </label>
    <label>
        <input type="checkbox" name="agree_three" value="1"/>
        I Agree
    </label>
</form>

但是,如果您只想计算用户选择了多少协议复选框,您可能需要此代码:

<?php
if(isset($_POST['agree']) && count($_POST['agree']) > 2) {
    // do magic
}
?>
<form method="post">
    <label>
        <input type="checkbox" name="agree[]" value="1"/>
        I Agree
    </label>
    <label>
        <input type="checkbox" name="agree[]" value="1"/>
        I Agree
    </label>
    <label>
        <input type="checkbox" name="agree[]" value="1"/>
        I Agree
    </label>
</form>