为了账号安全,请及时绑定邮箱和手机立即绑定

获取提交时的复选框值

获取提交时的复选框值

PHP
扬帆大鱼 2019-07-30 15:19:24
获取提交时的复选框值我有6个选项,我想获取选中的值,将它们存储在第二页的变量中。我该如何继续这样做?<form action="third.php" method="get">     <!-- Choices -->     Red     <input type="checkbox" name="color[]" id="color" value="Red">     Green   <input type="checkbox" name="color[]" id="color" value="Green">     Blue    <input type="checkbox" name="color[]" id="color" value="Blue">     Cyan    <input type="checkbox" name="color[]" id="color" value="Cyan">     Magenta <input type="checkbox" name="color[]" id="color" value="Magenta">     Yellow  <input type="checkbox" name="color[]" id="color" value="Yellow">     Black   <input type="checkbox" name="color[]" id="color" value="Black">     <!-- Submit -->     <input type="submit" value="submit"></form>和third.php页面:$color = $_GET['color'];echo 'The color is '.$color;如果我删除[],我会打开颜色,当我这样做时,color[]我会收到通知说:数组到字符串转换我想要的是checked,checkboxes的值,所以我可以将它存储在变量中。
查看完整描述

3 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

一个很好的方法,对我来说很受欢迎,对我们很多人来说,我肯定会使用foreach哪种方法输出你选择的每种颜色,并在屏幕上显示一个在另一个之下。

在使用复选框时,您可以选择使用foreach,这就是为什么您只从阵列返回一个值。

这是一个使用的例子$_GET。但是$_POST,您可以使用并且需要在两个文件中使两个指令匹配才能正常工作。

HTML表格

<form action="third.php" method="get">
    Red<input type="checkbox" name="color[]" id="color" value="red">
    Green<input type="checkbox" name="color[]" id="color" value="green">
    Blue<input type="checkbox" name="color[]" id="color" value="blue">
    Cyan<input type="checkbox" name="color[]" id="color" value="cyan">
    Magenta<input type="checkbox" name="color[]" id="color" value="Magenta">
    Yellow<input type="checkbox" name="color[]" id="color" value="yellow">
    Black<input type="checkbox" name="color[]" id="color" value="black">
    <input type="submit" value="submit"></form>

PHP(使用$ _GET)third.php用作处理程序

<?php

$name = $_GET['color'];// optional// echo "You chose the following color(s): <br>";foreach ($name as $color){ 
    echo $color."<br />";}?>

假设选择红色,绿色,蓝色和青色作为颜色,将显示如下:

红色
绿色
蓝色
青色


选项#2

您还可以检查是否选择了颜色。如果没有选择,则会出现单独的消息。

<?php

$name = $_GET['color'];if (isset($_GET['color'])) {
    echo "You chose the following color(s): <br>";

    foreach ($name as $color){
        echo $color."<br />";
    }} else {
    echo "You did not choose a color.";}?>

其他选项:

要显示为列表:( <ul></ul>可以替换为<ol></ol>

<?php

$name = $_GET['color'];if (isset($_GET['color'])) {
    echo "You chose the following color(s): <br>";
    echo "<ul>";
    foreach ($name as $color){
        echo "<li>" .$color."</li>";
    }
    echo "</ul>";} else {
    echo "You did not choose a color.";}?>


查看完整回答
反对 回复 2019-07-30
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

(它不是action="get"action="post"它是method="get"method="post"

尝试使用post方法:

<form action="third.php" method="POST">
    Red<input type="checkbox" name="color[]" id="color" value="red">
    Green<input type="checkbox" name="color[]" id="color" value="green">
    Blue<input type="checkbox" name="color[]" id="color" value="blue">
    Cyan<input type="checkbox" name="color[]" id="color" value="cyan">
    Magenta<input type="checkbox" name="color[]" id="color" value="Magenta">
    Yellow<input type="checkbox" name="color[]" id="color" value="yellow">
    Black<input type="checkbox" name="color[]" id="color" value="black">
    <input type="submit" value="submit"></form>

并在third.php

或者对于pericular领域,你可以获得以下价值:

$_POST['color'][0] //for RED
$_POST['color'][1] // for GREEN


查看完整回答
反对 回复 2019-07-30
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

我的建议是,使用post比使用post更好。这里有VS VS之间的一些区别

关于GET请求的一些注意事项:

  1. 可以缓存GET请求

  2. GET请求保留在浏览器历史记录中

  3. GET请求可以加入书签

  4. 在处理敏感数据时,绝不应使用GET请求

  5. GET请求有长度限制

  6. GET请求只应用于检索数据

有关POST请求的一些注意事项

  1. POST请求永远不会被缓存

  2. POST请求不会保留在浏览器历史记录中

  3. POST请求无法加入书签

  4. POST请求对数据长度没有限制

HTML代码

            <html>
    <head></head>
    <body>
    <form action="output.php" method="post">
    Red<input type="checkbox" name="color[]" id="color" value="red">
    Green<input type="checkbox" name="color[]" id="color" value="green">
    Blue<input type="checkbox" name="color[]" id="color" value="blue">
    Cyan<input type="checkbox" name="color[]" id="color" value="cyan">
    Magenta<input type="checkbox" name="color[]" id="color" value="Magenta">
    Yellow<input type="checkbox" name="color[]" id="color" value="yellow">
    Black<input type="checkbox" name="color[]" id="color" value="black">
    <input type="submit" value="submit">
    </form>
    <body>
    </html>

PHP代码

    <?php    if(isset($_POST['color'])) {
    $name = $_POST['color'];

    echo "You chose the following color(s): <br>";
    foreach ($name as $color){
    echo $color."<br />";
    }} // end brace for if(isset

    else {

    echo "You did not choose a color.";

    }

    ?>


查看完整回答
反对 回复 2019-07-30
  • 3 回答
  • 0 关注
  • 571 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信