如何使用 POST 访问动态生成的单选按钮


How to get access to dynamically generated radio buttons using POST

我有一些动态生成的HTML单选按钮,基于从数据库表中获取每个字符,如下所示:

<form name="form" id="myForm" method="POST" action="process.php">
<?php
$stmt = $this->registry->db->getDB()->prepare("SELECT * FROM characters");
$stmt->execute();

    if($stmt->rowCount() > 0)
      {
        foreach($stmt as $row)
        {
        ?>          
        <input type="radio" name="<?php print $row[0];?>" value="<?php print "value" . $row[1];?>">
        <?php
        }    
      }
?>
</form>

我将如何使用 $_POST[] 访问在我的 PHP 脚本中生成的每个选定的单选按钮,因为每个单选按钮的 name 属性都是动态创建的,我无法弄清楚我将如何访问 PHP 中的每个单选按钮值以便我可以处理表单。

请注意,生成的每个单选按钮都是唯一的,因此它们不会使用相同的名称进行分组。

一个简单的方法是创建一个数组,在本例中data[]

<input type="radio" name="data[<?php print $row[0];?>]" value="<?php print $row[1];?>">

然后要获取它们:

if(isset($_POST['data'])) {
    foreach($_POST['data'] as $name => $value) {
        echo "$name = $value<br/>";
    }
}