2013-04-15 49 views
-2

我正在使用javascript步序列器将当前用户输入的鼓模式记录到URL中。将当前页面URL保存到MySQL数据库

因此,例如,任何用户输入之前的URL看起来像:

http://localhost:8888/member-index.php#/0000/0000/0000/0000/0000/0000/0000 

,然后如果用户输入一个基本的鼓点的URL可能看起来像:

http://localhost:8888/member-index.php#/8020/0808/aaaa/0000/0000/0000/0000 

所以我想能够将用户创建的模式保存到我的MySQL数据库,以便用户可以保存并加载他们以前创建的节拍。

可能有人给我什么样的PHP代码会是什么样的页当前URL保存到数据库中一个简单的例子?

编辑:

人们都在说使用$ _GET - 我怎么会用这个像我被分成七个部分以“/”分隔他们一个网址?

+0

为什么不使用'$ _GET'变量而不是URL字符串本身?这是他们设计的那种东西。 – ASGM

回答

0

简答

使用$_GET代替。

长的答案

检索与PHP的URL不会包含#后会发生什么,因为这是只发送给浏览器,而不是服务器。正如@Kazar在对similar question的回答中所说,您可以使用Javascript和document.location.hash来检索哈希后的信息,然后通过ajax将其发送到服务器。

但幸好有一个更好的内置解决方案,它是$_GETdocumentation here)。

member-index.php#/8020/0808/aaaa/0000/0000/0000/0000 

让这样的::

相反从而构建您的网址的

member-index.php?a=8020&b=0808&c=aaaa&d=0000&e=0000&f=0000&g=0000 

然后你就可以轻松地在PHP中获取这样的信息:

$a = $_GET['a']; 
$b = $_GET['b']; 
... 

再经过它到数据库。 (更妙的是,更换ab等与任何顺序实际上意味着)

+0

好,如果他真的想他可能使用htaccess的和重新路由所有流量到一个特定的PHP –

+0

有很多方法种种,他可以决定通过URL字符串传递变量,但据我所知,这是它的意思的方式在PHP中完成。 – ASGM

+0

我想出了如何让代码显示为“http:// localhost:8888/member-index.php#/ a = ff00/b = 0c00/c = 0200/d = 0000/e = 0000/f = 0000/g = 0000“我仍然可以这样做吗? –