如何对从php表单发布的值执行逻辑操作?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (54)

这里是html

<form name="stream" method="post" action="scripts/validate.php">
  <div class="form-check">
    <input class="form-check-input" type="checkbox" name="attend" value="yes" autocomplete="off">
    <label class="form-check-label" for="attend">Yes, I will attend the event in Edo State.</label>
  </div>
  <div class="form-check">
    <input class="form-check-input" type="checkbox" name="trad" value="yes" autocomplete="off">
    <label class="form-check-label" for="trad">Yes, I'm interested in getting the Asoebi.</label>
  </div>
  <div class="form-check">
    <input class="form-check-input" type="checkbox" name="house" value="yes" autocomplete="off">
    <label class="form-check-label" for="house">Yes, I am interested in getting Accommodation.</label>
  </div>

  <button class="btn bg-bur text-white h4 btn-block mt-20" type="submit" name="stream">Submit</button>
</form>

这里是php处理表单数据,但仍然显示相同的结果,即使当选中1个复选框或者没有选中时,完整注册

<?php 
if( isset( $_POST['stream'] ) ) {    
    if ($_POST['attend'] == 'yes' && $_POST['trad'] == 'yes' && $_POST['house'] == 'yes' ) {
        echo "I want the full registration";
    }
    elseif ($_POST['attend'] == 'yes' && $_POST['trad'] == 'yes' && $_POST['house'] !== 'yes' ) {
        echo "I want the Asoebi and I will attend";
    }
    elseif ($_POST['attend'] == 'yes' && $_POST['trad'] !== 'yes' && $_POST['house'] !== 'yes' ) {
        echo "I am only attending";
    }
    elseif ($_POST['attend'] !== 'yes' && $_POST['trad'] == 'yes' && $_POST['house'] !== 'yes' ) {
        echo "I only want Asoebi";
    }
    elseif ($_POST['attend'] !== 'yes' && $_POST['trad'] !== 'yes' && $_POST['house'] !== 'yes' ) {
        echo "You haven't selected anything";
    }
}
?>
提问于
用户回答回答于

当选中该框时,$ _POST [name-not-id]会返回值。未选中的复选框完全不会返回任何内容。所以

<input class="form-check-input" type="checkbox" name="attend" value="yes">

在复选框时,将在$ _POST [“attend”]中返回“true”,当复选框未选中时,$ _POST中没有值。所以可以使用几个测试来查看它是否被检查。例如:

if (!empty($_POST["attend"])) ...

要么

if (isset($_POST["attend"]) && $_POST["attend"] === "yes") ...

热门问答

springboot项目启动报错找不到ConfigurationPropertiesBean?

添加依赖:https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-context/2.2.0.RELEASE <!-- https://mvnrepository.com/artifac...... 展开详请

腾讯加固助手不能下载了吗?下载地址在哪里?MAC可以下载吗?我看只能在网页上加固,自己签名。?

腾讯云@移动安全

腾讯 · 移动开发工程师 (已认证)

腾讯云移动安全前端开发
推荐

乐固客户端已下线,可以使用移动应用在线加固https://console.cloud.tencent.com/ms/reinforce/list

可以自行签名打渠道包。

使用jenkins配合命令进行加固,在加固过程中提示40171,起码50%的概率出现?

whileideath

腾讯 · 运营开发工程师 (已认证)

web互助开发群:953701926,禁止广告,招聘行为。
推荐
内部返回数据解析失败(查毒) 指的是在apk进行加固之前会进行病毒检测,如果检测出现病毒,违法等应用将拒绝加固。 目前是该引擎存在故障。 ... 展开详请

腾讯云物联网设备端 C-SDK中coap sample运行失败getaddrinfo error?

DylanRichard

腾讯 · 产品经理 (已认证)

万物互联的时代,欢迎来到IoT的世界
推荐已采纳

用coap必须打开TLS,现在云端只支持DTLS的coap连接

节点数量如何计算?

吴楠NancyWU

腾讯云 · 高级产品经理 (已认证)

腾讯云区块链产品经理,与区块链一同成长,欢迎交流
推荐

建议网络测试可使用一个组1个节点配置,根据组织多少来定测试规模;企业应用以1个组织2个节点为基础起步,保持组织内的高可用,节点数量扩展根据组织数量和交易使用量增加,一个区块链网络内建议最多不超过100个节点。谢谢您的提问

关于云直播的几个问题,望大佬解惑?

学生路人
推荐

1 海外单独计费

2 地址都是自己算的 可以变也可以不变

3 这个接口是拉流转推的 ,和播放不是一个东西哈 。

所属标签

扫码关注云+社区

领取腾讯云代金券