2012-03-04 95 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