Php 如何通过$\u POST传递空参数

Php 如何通过$\u POST传递空参数,php,http,Php,Http,在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']

在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'));
如果未提供*$\u POST['data']['Event']['employee']*或*$\u POST['data']['Event']['project']*项目,则会出现此问题

这使得正确的url如下所示:

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

用三元运算符替换传递到
link
方法的数组中的项,并检查值。基本上,如果发布的值未设置/为空/您拥有的内容,则需要设置默认值

你可以这样做:

empty($_POST['data']['Event']['project']) ? 'null' : $_POST['data']['Event']['project']
您需要传递null字符串,才能将其作为
'null'
传递。该
链接
方法的底层代码很可能会忽略空参数


这样做会给你提供你想要的
pdf.com/action/16/null/2014-01-01/2014-01-15
url。老实说,你的问题没有多大意义。为什么要在URL中插入null?它会是什么样子,作为纯文本?比如:
pdf.com/action/16//2014-…
?按预期工作。非常感谢。