如何将当前URL发送到服务器?

时间:2011-09-20 18:03:32

标签: php html url button

我想在其他人的HTML页面上有一个提交按钮(有权限)。单击它时,我希望该页面上的代码获取该页面的URL,并将该URL发送到我的服务器(用户不会被发送/链接到另一个页面)。这只能使用HTML和PHP吗?

- 编辑 -

我可以链接到另一个页面,只要我的服务器首先收到网址,如果有帮助的话。

有没有办法只使用客户端页面上的html和我服务器上的php?

3 个答案:

答案 0 :(得分:1)

使用PHP,您可以阅读$_SERVER['HTTP_REFERER']变量,但这比使用Javascript获取当前window.location并发布该变量更不可靠。顺便说一下,如果你不想“重定向”用户,你还是需要JS来发送Ajax的发布请求。

答案 1 :(得分:0)

使用bookmarklet进行调查,以便用户能够将有关其网页的数据发送到您的服务器。

作为此类事例的一个例子,请查看Amazon's bookmarklet,它可以让您从任何网站添加内容到您的亚马逊愿望清单 - 同样的想法。

答案 2 :(得分:0)

假设你有jQuery:

<div id="track_button">Send URL</div>

<script>
    function send_url(){
        $("body").append("<iframe src=\"http://yourdomain/script.php?url=" + encodeURIComponent(document.URL) + "\" style=\"width: 0px; height: 0px; border: none;\"></iframe>");
    }
    $(document).ready(function(){
        $("#track_button").button().click(function(){
            send_url();
        });
    });
</script>

“当点击它时,我希望该页面上的代码抓取该页面的网址”这句话暗示如下:
1)有人在X的网站上发布的元素
2)“点击”通常由人工制作,大多数浏览器都支持javascript - 你能不能真正使用它? 3)“抓取网址” - 有两种方法:1)使用javascript; 2)像其他人建议的那样在http_referrer上转发
所以,我提供了解决方案,其中使用了javascript(+ jQuery)。可以删除jQuery,使用纯JavaScript可以实现相同的效果。如果您不允许使用JavaScript,http_referrer只是您可以继续使用的东西。但这是非常不可靠的,因为很多人都关闭了这个功能。