多个同名文本区域和 PHP 处理
我有一个动态表单,可以在其中添加和删除文本区域。 textareas 的名称是 MyTextarea[]
<textarea style="display:inline;" name="MyTextarea[]"></textarea>
<textarea style="display:inline;" name="MyTextarea[]"></textarea>
所以当我想用 PHP 处理这个 textarea 时我正在做一个:
echo $_POST['MyTextarea'];
所以一个 Array
显示在屏幕上,到目前为止还可以
所以我做了一个 < code>print_r($_POST['MyTextarea']); 并且我再次得到相同的结果:Array
我想知道是否可以有许多同名的文本区域使用 []
生成数组。
如果可能的话我该怎么做,或者我的代码有什么问题。
谢谢
I have a dynamic form in which i can add and remove textarea.
The name of textareas is MyTextarea[]
<textarea style="display:inline;" name="MyTextarea[]"></textarea>
<textarea style="display:inline;" name="MyTextarea[]"></textarea>
So when I want to treat this textarea with PHP i'm doing a :
echo $_POST['MyTextarea'];
So a Array
is display on the screen, up to now it's ok
So I do a print_r($_POST['MyTextarea']);
and I have again the same result : Array
I want to know if it's possible to have many textarea with same name with []
to generate an array.
If it's possible how can I do, or what's wrong with my code.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,在 php 中,如果您有一个名称类似于“MyTextarea[]”的输入字段,则会将其作为数组发布。
因此,如果你想访问你的数据,你必须这样做:
如果你有多个同名的文本区域,你将得到一个数组,其中每个索引都有一个文本区域。表单中的第一个文本区域是
您可以执行的
数组中的第一个文本区域,如果您需要动态添加多个文本区域,这显然是一个杀手级功能。
Yes, in php if you have an input field with a name like this "MyTextarea[]" is posted as an array.
So if you want to access your data, you have to do:
If you have multiple textareas with the same name, you'll get an array where each index has one textarea. The first textarea in the form is the first textarea in the array
you could do
This is obviously a killer feature to use if you need to add multiple textareas dinamically.
你使用的是哪种框架,我很确定有一些东西在某个时刻将你的数组转换为字符串,也许对 POST 变量进行处理,如下所示:
在这种情况下,你必须删除这个功能...
为了确定我在说什么,您可以尝试 var_dump($POST[MyTextarea]) =>string 'Array' (length=5) (应该是一个数组)
Which kind of framework are you using, I'm quite sure there is something at one point that is casting you're array into a string, maybe something that apply a treatment on POST variable like this:
In this case you've to remove this function...
To be sure of what I'm talking about, you can try a var_dump($POST[MyTextarea]) =>string 'Array' (length=5) (should be an array)