猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
具有相同名称属性的过帐表单字段
如果您有一个包含带有重复
name
属性的文本输入的表单,并且该表单已经过帐,那么您仍然能够从
$_POST
PHP数组中获取所有字段的值吗?
素胚勾勒不出你
浏览 266
回答 3
3回答
jeck猫
否。仅最后一个输入元素可用。如果要使用相同名称的多个输入,请使用name="foo[]"输入名称属性。$_POST然后将包含foo的数组,其中包含来自输入元素的所有值。<form method="post"> <input name="a[]" value="foo"/> <input name="a[]" value="bar"/> <input name="a[]" value="baz"/> <input type="submit" /></form>请参阅Sitepoint上的HTML参考。$_POST如果不使用[]则仅包含最后一个值的原因是因为PHP基本上只会爆炸并遍历要填充的原始查询字符串$_POST。当遇到已经存在的名称/值对时,它将覆盖前一个。但是,您仍然可以像这样访问原始查询字符串:$rawQueryString = file_get_contents('php://input'))假设您具有这样的形式:<form method="post"> <input type="hidden" name="a" value="foo"/> <input type="hidden" name="a" value="bar"/> <input type="hidden" name="a" value="baz"/> <input type="submit" /></form>rawQueryString然后$ 将包含a=foo&a=bar&a=baz。然后,您可以使用自己的逻辑将其解析为一个数组。天真的方法是$post = array();foreach (explode('&', file_get_contents('php://input')) as $keyValuePair) { list($key, $value) = explode('=', $keyValuePair); $post[$key][] = $value;}这将为您提供查询字符串中每个名称的数组数组。
0
0
0
鸿蒙传说
除了在PHP中name="nfo[val]"使用外name="nfo[val][]",还可以使用foreach()HTML代码:<form method="post"> <input name="nfo[val][]" value="val1"/> <input name="nfo[val][]" value="val2"/> <input name="nfo[val][]" value="val3"/> <input type="submit" /></form>PHP代码:$output='';foreach ($nfo['val'] as $key=>$val) { $output.= $val.", ";}$output 将会: val1, val2, val3希望这可以帮助!
0
0
0
心有法竹
您必须创建它们的数组:name=inputname[] 与post,request或get一起使用$inputs = $_POST['inputname'];print_r($inputs);
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
PHP
php如何把参数放在Http Request Heade????
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续