2014-03-04 58 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