获取提交时的复选框值我有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 回答
![?](http://img1.sycdn.imooc.com/5458692c00014e9b02200220-100-100.jpg)
幕布斯7119047
PHP(使用$ _GET)
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.";}?>
![?](http://img1.sycdn.imooc.com/5458655200013d9802200220-100-100.jpg)
料青山看我应如是
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
![?](http://img1.sycdn.imooc.com/545862e700016daa02200220-100-100.jpg)
至尊宝的传说
TA贡献1789条经验 获得超10个赞
我的建议是,使用post比使用post更好。这里有VS VS之间的一些区别
关于GET请求的一些注意事项:
可以缓存GET请求
GET请求保留在浏览器历史记录中
GET请求可以加入书签
在处理敏感数据时,绝不应使用GET请求
GET请求有长度限制
GET请求只应用于检索数据
有关POST请求的一些注意事项
POST请求永远不会被缓存
POST请求不会保留在浏览器历史记录中
POST请求无法加入书签
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."; } ?>
- 3 回答
- 0 关注
- 571 浏览
添加回答
举报
0/150
提交
取消