如何使用回显的html标记中的名称

时间:2016-06-28 10:34:36

标签: php html

我有一个像这样的代码abc.php 我想创建一个复选框数组,但如果我尝试访问名称或ID,它似乎无法工作。有没有其他方法可以做到这一点?

 <html>
 <body>
 <form method="post">
  <?php
 echo ""."<input type='checkbox' name='check[]' id='check[]' />"
 $c=0;

     if(isset($_POST['check[$c]'])){
     echo "checked";
      }
   ?>
 </form>
  </body>
</html>

3 个答案:

答案 0 :(得分:0)

您使用单引号$_POST['check[$c]'],它不会被$c的值替换。更不用说多维数组不能以这种方式工作。

检查$ _POST变量是否将其视为数组:

$checked = $_POST['check'];
// $checked[0] - first element
// $checked[1] - second etc

答案 1 :(得分:0)

使用此作为基本代码,您也可以从html中拆分php代码。 foreach更好,因为现在您可以快速轻松地了解用户实际提交的值。

<?php
    if(isset($_POST['submit'])){
        if(isset($_POST['check']) && is_array($_POST['check'])){
            foreach($_POST['check'] as $key => $value){
                echo "$key => $value<br>"; # wrap this around single quotes ', see the difference.
            }
        }
    }

?>
<html>
 <body>
     <form method="post">
        <input type='checkbox' name='check[]' value="a">a</input>
        <input type='checkbox' name='check[]' value="b">b</input>
        <input type='checkbox' name='check[]' value="c">c</input>
        <input type='checkbox' name='check[]' value="d">d</input>
        <input type='submit' name='submit' id='submit' />
     </form>
 </body>
</html>

答案 2 :(得分:0)

无需使用arra,只需使用if(isset($_POST['check']))之类的变量即可。如果要显示复选框的值,请使用$_POST['check'][0]

 <form method="post">

 <?php
 echo ""."<input type='checkbox' name='check[]' id='check[]' value='test' />";
 echo "<input type='submit' />";

     if(isset($_POST['check'])){
         echo "checked";
      }
 ?>

 </form>