我有一个用户填写的表单,它将信息提交给我的mysql数据库。提交时,我的PHP代码根据提交的表单数据和唯一ID创建一个URL。我希望将该网址指向类似于“个人资料”页面的内容,而不是让新网页根据生成的网址填充我的网页目录。
所以我的php在用户提交了如下所示的表单后创建了一个链接:http://localhost/State=ALCity=SeattleEvent=eventSubject=titleID=135
此链接与用户提交的数据一起存储在我的表中。我已经读过在表格中存储URL是不实际的,但是对于我的目的,表格数据将在一定时间内到期并被删除。
简而言之,我希望能够让用户点击链接,该链接将提取已提交的数据。我可以从网址抓取数据来为用户提取该信息吗?或者我需要更改已经实施的设置吗?如果需要,我可以进一步解释:)
答案 0 :(得分:0)
如果我说得对,这是Apache的mod_rewrite扩展的经典案例(因为你提到过.htaccess,我认为你使用Apache作为webserver)。使用此mod,您可以过滤部分网址并将其作为普通$_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的“动态”部分作为$_GET
参数传递(使用反向引用)。
有关详细信息,请重新开始official mod_rewrite documentation,mod_rewrite guide和this nice tutorial。