从php中的FORM打印复选框值?

时间:2014-03-31 04:31:34

标签: php

我的html页面中有一个简单的表单:

<html>
<head>
  </head>
  <body>
    <form method='post' name='template' action="echo.php">
      <input type='checkbox' name='checkboxName' value='1234'>1234<br>
      <input type='checkbox' name='checkboxName' value='5847'>5847<br>
      <br>
      <input type='submit' value='Submit'>
    </form>
</body>

一旦用户点击提交,我希望页面打印所有选中的颜色,如下所示:

1234
5847

在PHP中执行此操作的好方法是什么?

谢谢

6 个答案:

答案 0 :(得分:1)

foreach($_POST['checkboxName'] as $value)
{
    echo 'Checked: '.$value.'
';
}

答案 1 :(得分:1)

试试这个:

将数组元素命名为。

<html>
<head>
  </head>
  <body>
    <form method='post' name='template' action="echo.php">
      <input type='checkbox' name='checkboxName[]' value='red'>Red<br>
      <input type='checkbox' name='checkboxName[]' value='green'>Green<br>
      <input type='checkbox' name='checkboxName[]' value='blue'>Blue<br>
      <input type='checkbox' name='checkboxName[]' value='yellow'>Yellow<br>
      <input type='checkbox' name='checkboxName[]' value='purple'>Purple<br>
      <br>
      <input type='submit' value='GO'>
    </form>
</body>

然后像这样显示:

is_array($_POST['checkboxName']){    
foreach($_POST['checkboxName'] as $value)
    {
        echo 'Checked: '.$value ;
    }
}

答案 2 :(得分:1)

将文本框名称更改为数组,如

  <input type='checkbox' name='checkboxName[]' value='red'>Red<br>
  <input type='checkbox' name='checkboxName[]' value='green'>Green<br>
  <input type='checkbox' name='checkboxName[]' value='blue'>Blue<br>
  <input type='checkbox' name='checkboxName[]' value='yellow'>Yellow<br>
  <input type='checkbox' name='checkboxName[]' value='purple'>Purple<br>

然后添加像

这样的php代码
 foreach($_POST['checkboxName'] as $value)
 {
    echo $value.'<br/>';
 }

答案 3 :(得分:1)

在您的表单页面更改名称字段checkboxName到checkboxName []

<html>
<head>
  </head>
  <body>
    <form method='post' name='template' action="echo.php">
      <input type='checkbox' name='checkboxName[]' value='red'>Red<br>
      <input type='checkbox' name='checkboxName[]' value='green'>Green<br>
      <input type='checkbox' name='checkboxName[]' value='blue'>Blue<br>
      <input type='checkbox' name='checkboxName[]' value='yellow'>Yellow<br>
      <input type='checkbox' name='checkboxName[]' value='purple'>Purple<br>
      <br>
      <input type='submit' value='GO' >
    </form>
</body>
在echo.php页面中

<?php
    foreach($_POST['checkboxName'] as $value)
    {
      echo $value.'<br>';
    }
?>

如果选中所有复选框,则此脚本将输出:

red
green
blue
yellow
purple

答案 4 :(得分:0)

将颜色添加到名称字段,并将checkboxName作为第一个单词,并删除所有值字段。

<html>
<head>
  </head>
  <body>
    <form method='post' name='template' action="echo.php">
      <input type='checkbox' name='checkboxNamered'>Red<br>
      <input type='checkbox' name='checkboxNamegreen'>Green<br>
      <input type='checkbox' name='checkboxNameblue'>Blue<br>
      <input type='checkbox' name='checkboxNameyellow'>Yellow<br>
      <input type='checkbox' name='checkboxNamepurple'>Purple<br>
      <br>
      <input type='submit' name='submit' value='GO'>
    </form>
</body>

如果有多个具有相同名称的字段,则 PHP 只能访问一个具有值的字段,因此您应该使每个名称字段都是唯一的。因此我制作了这样的项目:

  

checkboxNamered,checkboxNamegreen,checkboxNameblue等...

在PHP中,我们检查前12个字符是否为checkBoxName,如果是,我们从名称字段中删除checkBoxName并回显其余部分:

<?php
if(isset($_POST['submit'])){
 foreach($_POST as $k=>$v){
  $firstChar=substr($k, 0, 12);
  if($firstChar=="checkboxName"){
   echo str_replace("checkboxName", "", $k);
  }
 }
}
?>

答案 5 :(得分:0)

将文本框名称更改为

之类的数组
foreach($_POST['checkboxName'] as $value)
{
    echo "Checked values: ".$value;
}

然后添加像

这样的php代码
YouTubePlayerApi

说明:输入字段文本名称为数组ex:checkboxName []。您可以使用任何名称,但请记住在该名称后面加上[],其他复选框的其余部分必须使用此名称!然后在php代码中捕获那个数组版本数据。

PHP foreach循环遍历此数组,$ value变量包含我们选择使用复选框的值。