使用PHP解析HTML表单数据[重复]?

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

  • 回答 (1)
  • 关注 (0)
  • 查看 (83)

这个问题在这里已有答案:

下面是我一直在运行的测试的代码。

<!DOCTYPE HTML">
<html>
<head>
      <title>Test Page</title>
</head>
<body>
      <form class="form-horizontal" method = "POST">
            <fieldset>
                   <table  class = "table table-striped table-sm">                 
                        <thead>
                            <tr> 
                                 <th style="width: 2%"> </th>
                                 <th style="width: 18%">Name</th>
                                 <th style="width: 6%"> W1 </th>
                                 <th style="width: 6%"> W1 </th>
                                 <th style="width: 6%"> W1 </th>
                                 <th style="width: 6%"> W1 </th>
                                 <th style="width: 6%"> W1 </th>
                                 <th style="width: 6%"> W1 </th>
                            </tr>
                        </thead>
                        <tbody>       
                               <tr>
                                   <td><input type="hidden" name="memberid[]" value="1063" /></td> 
                                   <td>Charlie Farnsworth</td> 
                                   <td align="center"><input type="checkbox" name="test[]" value = "0"  ></td>  
                                   <td align="center"><input type="checkbox" name="test[]"  value = "1" ></td>  
                                   <td align="center"><input type="checkbox" name="test[]"  value = "2" ></td>  
                                   <td align="center"><input type="checkbox" name="test[]"  value = "3" ></td>  
                                   <td align="center"><input type="checkbox" name="test[]"  value = "4" ></td>  
                                   <td align="center"><input type="checkbox" name="test[]"  value = "5" ></td>  
                               </tr>

                        </tbody>       
                   </table>
            </fieldset>
            <div align="center">
                <br /><br />
                <input type="submit" id= "submit" name = "submit" value="Save changes">
                <br /><br />
            </div>
      </form>
</body>
</html>

PHP代码是

<?php 
if (isset($_POST)) {
   $return = '000000';
   if (!empty($_POST['test'])) { 
     for ($x = 0; $x < 6; $x++) {
        if(IsChecked('test',$x)){
          $return=substr_replace($return,"1",$x,1);          } 
        }
     } 
     $return = implode(',',str_split($return));
     echo $_POST['memberid'].'<br/>';
     echo $return.'<br/><br/>';
 }
 unset($_POST);
}

function IsChecked($chkname,$value) {
    if(!empty($_POST[$chkname])){
        foreach($_POST[$chkname] as $chkval){
            if($chkval == $value){
                return true;
            }
        }
    }
    return false;
}

?>                 

这是为了允许我根据复选框状态构建一个1和0的字符串。这将用于更新具有隐藏输入值的id字段的SQL表记录。

这适用于单行数据,但如果有多行数据,我将无法完成它。

我原以为foreach结构可能会起作用,但到目前为止还没有成功。

提问于
用户回答回答于

构建表时,请为每个复选框包含memberid值

<tr>
<td><input type="hidden" name="memberid[]" value="1063" /></td> 
<td>Charlie Farnsworth</td> 
<td align="center"><input type="checkbox" name="test[1063][]" value = "0"  ></td>  
<td align="center"><input type="checkbox" name="test[1063][]"  value = "1" ></td>  
<td align="center"><input type="checkbox" name="test[1063][]"  value = "2" ></td>  
<td align="center"><input type="checkbox" name="test[1063][]"  value = "3" ></td>  
<td align="center"><input type="checkbox" name="test[1063][]"  value = "4" ></td>  
<td align="center"><input type="checkbox" name="test[1063][]"  value = "5" ></td>  
</tr>

然后参考

foreach ($_POST['memberid'] as memberid){
    foreach ($_POST['test'][memberid] as checkedValue){
          // do your stuff...
    }
}

热门问答

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

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

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

whileideath

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

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

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

腾讯云@移动安全

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

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

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

可以自行签名打渠道包。

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

DylanRichard

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

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

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

节点数量如何计算?

吴楠NancyWU

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

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

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

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

学生路人
推荐

1 海外单独计费

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

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

所属标签

扫码关注云+社区

领取腾讯云代金券