如何在PHP中将多个值从视图传递到控制器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何在PHP中将多个值从视图传递到控制器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1816字,纯文字阅读大概需要3分钟。
内容图文
![如何在PHP中将多个值从视图传递到控制器](/upload/InfoBanner/zyjiaocheng/726/9746cdf486ae40a68c8f54e67d454c42.jpg)
我是PHP新手,我试图将2个整数从我的视图传递给我的控制器.我正在使用zend框架2.
这是我尝试通过按钮将数据传递给控制器??中的操作的方式,但是我在操作中收到的值等于0,所以这是错误的,因为我的值不等于0.
<td>
<?php $url = $this->url('mediador', array('action' => 'associaCorrespondencia', 'idCompra' => $Compra[$i]['ID'], 'idVenda' => $Venda[$i]['ID'])); ?>
<form action="<?php echo $url; ?>" method="post">
<div>
<input type="submit" name="del" value="Associar" />
</div>
</form>
<td>
以下是我在操作中接收值的方法:
public function associaCorrespondenciaAction(){
$idCompra = $this->params()->fromRoute('idCompra', 0);
$idVenda = $this->params()->fromRoute('idVenda ', 0);
}
我究竟做错了什么?我收到的值总是等于零,并且与参数的参数不同.
提前致谢!
编辑:我的路线配置:
<?php
return array(
'controllers' => array(
'invokables' => array(
'Mediador\Controller\Mediador' => 'Mediador\Controller\MediadorController',
),
),
// The following section is new and should be added to your file
'router' => array(
'routes' => array(
'mediador' => array(
'type' => 'segment',
'options' => array(
'route' => '/mediador[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Mediador\Controller\Mediador',
'action' => 'index',
),
),
),
),
),
'view_manager' => array(
'template_path_stack' => array(
'Mediador' => __DIR__ . '/../view',
),
),
);
解决方法:
您正在使用url zend视图助手:
http://framework.zend.com/manual/current/en/modules/zend.view.helpers.url.html
要从视图助手生成查询字符串参数,您需要使用查询键将它们指定为第三个参数,如下所示:
查看网址生成:
<?php
$url = $this->url(
'mediador',
array(
'action' => 'associaCorrespondencia'
),
array(
'query' => array(
'idCompra' => $Compra[$i]['ID'],
'idVenda' => $Venda[$i]['ID']
)
)
);
?>
行动:
$idCompra = $this->params()->fromQuery('idCompra', 0);
....
内容总结
以上是互联网集市为您收集整理的如何在PHP中将多个值从视图传递到控制器全部内容,希望文章能够帮你解决如何在PHP中将多个值从视图传递到控制器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。