2014-03-04 61 views
0

在CakePHP框架的一个视图中,我采用用户给出的参数并进行操作调用。下面是它的样子:

echo $this->Html->link(__('Save as PDF'),array('action'=>'view_as_pdf',$_POST['data']['Event']['employee'],$_POST['data']['Event']['project'],$_POST['data']['Event']['from'],$_POST['data']['Event']['to'],'ext' => 'pdf')); 

出现问题时,* $ _ POST [ '数据'] [ '事件'] [ '员工'] *或* $ _ POST [ '数据'] [ '事件' ] ['项目'] *项目不提供。

这使得像一个真正的网址:

pdf.com/action/16/77/2014-01-01/2014-01-15 

样子:

pdf.com/action/16/2014-01-01/2014-01-15 

我想什么它看起来是这样的:

pdf.com/action/16/null/2014-01-01/2014-01-15 
+1

老实说,你的问题没有多大意义。你为什么要在URL中插入null?它如何看起来像明文一样?像:'pdf.com/action/16//2014 -...'? –

回答

1

在更换项目你的数组通过三元运算符传入link方法并检查值。从本质上讲,如果POSTed值没有设置/空/什么 - 你需要设置一个默认值。

你可以做这样的事情:

empty($_POST['data']['Event']['project']) ? 'null' : $_POST['data']['Event']['project'] 

您需要将空的字符串,以便它为'null'传递。可能,该方法的底层代码忽略空参数。

这样做会给你你想要达到的pdf.com/action/16/null/2014-01-01/2014-01-15网址。

+0

按预期工作。谢谢一堆。 – Domas