大家好!
http_referer:index.php?p=users,html使用Smarty 5.x显示,使用POST方法传输到服务器。
<form name="update" action="update.php?opt=gender" method="post" target="_parent">
<table border="1" cellspacing="0">
{foreach from=$users key=k item=i} <-- Массив из пяти пользователей
<tr>
<td>{$i.id}</td> <-- Id пользователя из массива
<td>
<select name="gender">
<option>Select gender</option>
<option value="man">Man</option>
<option value="woman">Woman</option>
<option value="donkey">Donkey</option>
<option value="monkey">Monkey</option>
</select>
<input type="hidden" name="family" value="{$i.family}">
<input type="hidden" name="age" value="{$i.age}">
</td>
<td>{$i.name}</td>
</tr>
{/foreach}
</table>
<input type="submit" name="update" title="Обновить" value="Обновить">
</form>
如何将输入作为 JSON 数组传递到服务器上进行处理(处理没有问题,只要它作为数组到达)在 smarty xxx|@json_encode 的坞站中,它的描述非常糟糕,以至于我老实说不明白,在堆栈或谷歌上搜索((我都没有找到一个例子。帮助茶壶))。
在我看来,您的问题与您正在寻找的问题有些不同。
您在输入中显示具有相同名称的字段,最后,即使发送请求,您也很可能只收到最后一个元素。您需要以数组的形式添加这些形式,而
json_encode这里似乎根本不相关。表单生成代码大致应该是这样的(注意name输入)也就是说,你形成一个带有名称的数组
users,发送时你会在$_POST['users']数据中收到它。PS:有一个选项可以不录制
{$u@index},但我不记得怎么做了。在每次迭代时,您需要编写一些额外的行来分隔数组的元素。