我有一個CakePHP搜索表單,它有'type'=>'get'
。基本上,表單中的一個元素是圖像類型的提交按鈕。當表單發佈時,在URL中我總是會得到這些x & y圖像提交按鈕的座標:CakePHP:預防URL中的GET表單字段
http://site.com/controller/action? X = 22 & Y = 36 &查詢=你好
有沒有什麼辦法可以防止座標從顯示的網址呢?原因是其他人可以使用相同的URL執行相同的搜索,而不會在鏈接中看到不直觀的內容。
謝謝!
我有一個CakePHP搜索表單,它有'type'=>'get'
。基本上,表單中的一個元素是圖像類型的提交按鈕。當表單發佈時,在URL中我總是會得到這些x & y圖像提交按鈕的座標:CakePHP:預防URL中的GET表單字段
http://site.com/controller/action? X = 22 & Y = 36 &查詢=你好
有沒有什麼辦法可以防止座標從顯示的網址呢?原因是其他人可以使用相同的URL執行相同的搜索,而不會在鏈接中看到不直觀的內容。
謝謝!
你可以使用一些JavaScript上的按鈕:在beforeFilter
功能
document.getElementById('myImageButton').onclick = function() {
this.form.submit();
return false;
};
或者,在你的控制器,你可以檢查不需要的變量的存在,帶他們出去,並重定向到漂亮的URL 。這確實意味着會有2個HTTP請求。
聽起來像你正在尋找做Post/Redirect/Get。
下面是在CakePHP中這樣做的兩個例子:重定向POST
到GET
請求的
優點是:
/search?q=contact
網址,你可以得到/search/contact
而不是使用submit
輔助功能,使用button
函數並設置按鈕類型提交。
echo $this->Form->**button**($this->Html->image('header_search_icon.png'), array(**'type'=>'submit'**));
將按鈕移出窗體,並在其上粘貼JavaScript以觸發提交窗體。 – 2009-12-23 00:02:02
當我試圖訪問$ _POST變量時,我得到了這些'x'和'y'座標。我希望我的表單可以提交給外部表單處理器,我們將其用作客戶端的集中位置來登錄並下載帶有註冊的CSV文件。他們是誰? – 2011-09-10 19:17:48
當您使用圖像類型的提交按鈕時,x和y座標是。要麼忽略它們,要麼將提交按鈕類型更改爲type =「submit」。 – ash 2011-09-12 18:08:03