Home  >  Article  >  Backend Development  >  $_POST无法接收由smarty模版自动生成的二维数组

$_POST无法接收由smarty模版自动生成的二维数组

WBOY
WBOYOriginal
2016-06-23 14:03:05943browse

在同一个页面有多条相同的数据,分为组。

现在我遇到一个问题。
我无法取得smaryt对input自动生成的name序列。
其中,索引0和1是由smarty通过变量生成的。





我现在$_POST无法取得这些值,为什么?
var_dump($_POST[my]);

array (size=2)
  0 => string 'Array' 
  1 => string Array'

请大家帮忙。


回复讨论(解决方案)

BUG?
你 print_r($_POST['my']); 能看到什么?

BUG?
你 print_r($_POST['my']); 能看到什么?
什么也没有

BUG?
你 print_r($_POST['my']); 能看到什么?
我用一个全新的页面,对照PHP的手册做没问题,
但在正式开发的程序里却得不到。

无聊的吧?
既然你
var_dump($_POST[my]);
显示
array (size=2)
  0 => string 'Array' 
  1 => string Array'

那么
print_r($_POST['my']); 
怎么会什么也没有呢?

你标签闭合了吗

=>

无聊的吧?
既然你
var_dump($_POST[my]);
显示
array (size=2)
  0 => string 'Array' 
  1 => string Array'

那么
print_r($_POST['my']); 
怎么会什么也没有呢?

print_r($_POST['my'])
输出的也是
Array ( [0] => Array [1] => Array ) 

你标签闭合了吗

=>

当然是闭合了的,呵呵。

是不是因为name必须要是一个字符串才行?

是不是因为name必须要是一个字符串才行?
那不是的。

这个问题怎么办啊。一步一步调,一维数组没问题,二维数组就有问题了。

你在浏览器“查看网页源代码”,对这部分都看到了什么

源代码是由smarty自动生成的。

      <tr>        <td class="lable" colspan="6"><p align="center">职位信息</p></td>      </tr>            <tr>        <td class="lable">职位名称</td>                <td colspan="5"><input type="text" name="job[0][jobname]" value="营销经理" />营销经理</td>      </tr>     <!-- <tr>        <td class="lable">行业类别</td>        <td> 44


这里看起来,是正常的。

           <tr>        <td class="lable">职位名称</td>                <td colspan="5"><input type="text" name="job[1][jobname]" value="销售总监" />销售总监</td>      </tr>


还有这段


是这里生成的。

那你在接收表单时还做了什么?
smarty 好像不替你做表单数据接收处理的

我在接收时就用的

$jobname = $_POST["job"];var_dump($jobname);

输出的结果是
array (size=2)
  0 => string 'Array' (length=5)
  1 => string 'Array' (length=5)
使用print_r
输出的是
Array ( [0] => Array [1] => Array ) 

那你把表单的目标改成这样 action=test.php
test.php 就这样
print_r($_POST);

看一下结果

问题查到了,是系统框架过滤有问题。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn