2012-03-04 40 views
0

我有一個用戶填寫表單,它將信息提交給我的mysql數據庫。在提交時,我的php代碼根據提交的表單數據和唯一ID創建一個url。我不想讓一個新的網頁根據生成的網址填充我的網頁目錄,而是希望將該網址指向類似於「個人資料」頁面的內容。htaccess和PHP生成的鏈接

所以我的PHP創建一個用戶提交,看起來像這樣的形式以後鏈接:http://localhost/State=ALCity=SeattleEvent=eventSubject=titleID=135

此鏈接獲取與所提交用戶數據一起存儲我的表內。我讀過在表格中存儲URL是不實際的,但是爲了我的目的,表格數據將在一定時間內過期並被刪除。

總之,我希望能夠讓用戶點擊鏈接來提取已提交的數據。我可以從網址抓取數據以便爲用戶提供信息嗎?或者我需要更改已經實施的設置嗎?如果需要,我可以進一步解釋:)

+0

不清楚你打算做什麼?你想給一個用戶的鏈接,在這裏將獲得預先填寫的表單? – 2012-03-04 21:28:02

+0

基本上我想使用該鏈接來提取通過Web窗體提交的信息。我想我能想到的最接近的例子是Craigslist。用戶創建一個列表,他們得到一個獨特的鏈接,將他們帶到他們的發佈。希望有所幫助! – sonarbiscuit 2012-03-04 23:44:14

回答

0

如果我明白你的意思,這是Apache的mod_rewrite擴展的經典案例(因爲你提到.htaccess,我認爲你使用Apache作爲web服務器)。使用這個mod,你可以過濾部分url並將其作爲普通的$_GET參數發送到你的php腳本。

你需要在你的.htaccess這樣的事情(只是從我的腦海)

RewriteEngine on 
RewriteRule ^State=([a-zA-Z0-9]+)=SeattleEvent=([a-zA-Z0-9]+)=titleID=([0-9]+)$ profile.php?state=$1&event=$2&id=$3 

這實際上是在做什麼,是Apache的檢查當前請求的URL匹配此正則表達式規則。如果是這樣的話,它會調用profile.php並將url的「dynamic」部分作爲$_GET參數(使用反向引用)傳遞。

有關更多信息,我重新開始official mod_rewrite documentationmod_rewrite guidethis nice tutorial

+0

是的,我使用的是Apache。你能否進一步細分這到底做了什麼?說實話,我並不太熟悉.htaccess文件應包含的內容。我理解文件在Web服務器中的作用,我只是不太明白如何利用上述方法。並感謝您的幫助:) – sonarbiscuit 2012-03-04 23:41:49