2013-04-15 49 views
0

該網站將使用PHP MySQL的&如何建立URL與表單

對於我的新網站我想要有乾淨的網址,改爲具有可怕 頁面X = 1 & Y = 23 & ee = 23我想有更好的東西。

使用形式與POST方法,我想獲得像

http://www.xxx.com/page-color-blue-size-12-light

如果行動=「行動page.php文件」,那麼網頁加載然後將需要閱讀的$ _ POST從action-page.php創建一個新的URL並重定向到新的URL,這似乎不是一個好主意。

如果我使用$ _GET,那麼我將最終與URL?和&作爲參數。

能否解決方案是點擊提交,但在這種情況下,網站不會爲谷歌工作...

正如你看到的,我不能找到一個很好的解決方案之前更新方法的JS .. 。 任何想法?

注 -

感謝您的答覆,但我不想找URL重寫,這將是如果我試圖讀取http://www.xxx.com/page-color-blue-size-12-light的情況下,但它不是我想要做的,我嘗試從帖子中構建此網址。

回答

0

這聽起來像你正在尋找幫助做URL rewrites。它們涵蓋了讓你的位置欄顯示一些漂亮內容的基礎知識,而不是你提到的所有查詢字符串參數。 更新:

我理解你的問題更好一點,我想我可能有一個解決方案,至少會讓你的問題的第一部分。我把這個放在jsfiddle上,你也可以看看。

<form id="myform" action="" method="POST"> 
    <input type="text" id="color" name="color" value="blue"/> 
    <br /> 
    <input type="text" id="size" name="size" value="12-light"/> 
    <br /> 
    <input type="submit" value="Go" /> 
</form> 

<script type="text/javascript"> 
jQuery(function($) { 
    $("#myform").submit(function() { 
     var color = $("#color").val(); 
     var size = $("#size").val(); 
     $("#myform").attr("action", "/page-color-" + color + "-size-" + size); 
     $("#myform").submit(); 
    }); 
}); 
</script> 
+0

URL重寫是,如果我想成爲能夠改變頁面的顏色 - 藍 - 大小 - 12 - 光轉換成頁=藍;大小= 12;價值=光,我特林從$ _POST – Arnaud

+0

建立一個不錯的網址所以你想提交表單爲你生成一個新的頁面?這仍然需要一些URL重寫來處理你的服務器,但你可以使用一些JavaScript來構建表單url。讓我用一個例子來編輯我的答案。 –

+0

這看起來很完美,我還需要爲bot(goole和其他人)編寫一個版本,因爲我不認爲他們在解析網站時啓用了javascript ... – Arnaud

1

通過POST請求

<form action="page.php" method="post"> 
    <input type="hidden" name="data" value="1" /> 
    <input type="submit" value="Submit"> 
</form> 

發送paramenters請求的URL將只是page.php$_POST['data']將包含您的參數。

如果你想使用的網址一樣http://www.xxx.com/page-color-blue-size-12-light,那麼你需要

  • 轉向由一些重寫規則的Web服務器;
  • 通過解析PHP腳本中的URL來路由到其他頁面。

可能是第一個解決方案更好,因爲第二個解決方案意味着處理2個HTTP請求。

+0

同意,但我希望url不是page.php但頁面顏色藍色大小12光我可以從$ _POST – Arnaud

+0

建立此爲什麼你會想這樣命名你的文件?該名稱不應該確定URL的外觀。 – Jonast92

+0

我不想命名任何文件,我只是試圖構建一個URL,然後將被我的代碼解釋,它可能是通過使用重寫或解析URL。 – Arnaud