【问题标题】:Saving current page URL to MySQL database将当前页面 URL 保存到 MySQL 数据库
【发布时间】:2013-04-15 18:13:09
【问题描述】:

我正在使用一个 javascript 步进音序器,它将当前用户输入的鼓模式记录到 URL 中。

例如,在任何用户输入之前,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 - 我如何将它与像我这样的 URL 一起使用,它被分成七个部分,用“/”分隔它们?

【问题讨论】:

  • 为什么不使用 $_GET 变量而不是 URL 字符串本身?这就是他们设计的目的。

标签: php mysql html


【解决方案1】:

简答

请改用$_GET

长答案

用 PHP 检索 url 不会包括 # 之后的内容,因为它只发送到浏览器而不是服务器。正如@Kazar 在对similar question 的回答中所说,您可以使用Javascript 和document.location.hash 在哈希后检索信息,然后通过ajax 将其发送到服务器。

但幸运的是,有一个更好的内置解决方案,即$_GET (documentation 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 等替换为订单的实际含义)

【讨论】:

  • 好吧,如果他真的愿意,他可以使用 htaccess 并将所有流量重新路由到特定的 php
  • 他可以通过各种方式决定通过 url 字符串传递变量,但据我所知,这是在 php 中完成的方式。
  • 我想出了如何使代码显示为“localhost:8888/member-index.php#/a=ff00/b=0c00/c=0200/d=0000/…”我还能这样做吗?
  • 否;如果要使用$_GET,则需要按照the specifications进行格式化。你是如何生成网址的?
【解决方案2】:

您可以使用 htaccess 和 url 重写将所有请求重定向到您检查 url 的特定 php。见:Rerouting all php requests through index.php

尽管如此,我认为使用 get/post 或请求正文更容易发送您的数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-19
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 2012-08-19
    相关资源
    最近更新 更多