传递参数'名称'在PHP表单处理

时间:2016-06-18 10:11:23

标签: php html

在我的数据库中,我创建了一个名为iso的表(2列 - ISO证书的名称和代码),并且通过下面的代码,我试图将所有证书的名称打印为提交类型按钮(可单击)。但我无法传递哪个按钮传递给下一个文件。请帮忙。谢谢!

     <?php 
        $con=mysqli_connect("localhost","root","","dyna");
// Check connection
        if (mysqli_connect_errno()) {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
         }

          $result = mysqli_query($con,"SELECT * FROM iso");
          ?>

  <form method="post" action="http://localhost/junk.php/">
    <?php while($row = mysqli_fetch_array($result))
       { ?>
       <input type="submit" name="<?php $row['Code'] ?>" class="login login-submit" value="<?php echo $row['Value'] ?>" >
        <?php } ?>
    <?php mysqli_close($con); ?>
  </form>

3 个答案:

答案 0 :(得分:2)

使用名为<button>的{​​{1}}元素将证书代码作为值传递,但将名称证书显示为按钮名称:

cert

然后在<button name="cert" value="<?php echo $row['Code']; ?>" type="submit"><?php echo $row['Value']; ?></button> 中,使用POST参数junk.php根据证书代码确定按下了哪个按钮:

cert

答案 1 :(得分:0)

如果你想要值和代码意味着。使用分隔符将code与值联系起来。

<input type="submit" name="certificate" class="login login-submit" value="<?php echo $row['Value'].'_'.$row['Code'] ?>" >

       $ss = explode('_',$_POST['certificate']);

       echo  $ss[0];  //value
       echo $ss[1];   //code

答案 2 :(得分:-1)

首先,您可以使用<?= $var ?><?= "test" ?>进行打印,以避免使用<?php echo...

因此,如果我理解了您的问题,则无法将$row值正确打印到<input>标记。

您可以调试接收查询的内容,以便在var_dump($row);部分的任何部分执行while。因此,如果您正确接收数组,您将看到它具有哪些键。

还有一件事,请将您的mysqli_fetch_array替换为mysqli_fetch_assoc,因为第一个分配列名称但是它会将数字键添加到$row阵列也是。

为了更好地理解,请阅读mysqli_fetch_arraymysqli_fetch_assoc