在PHP中从Querystring获取数据

时间:2011-01-21 11:55:55

标签: php request.querystring

我不知道如何从PHP中的querystring获取数据。

我想从access_token

中检索数据
  

http://www.mygridview.com/sephora/index.php?mod=config#access_token=170791786296375|983b6aefceafdb1cf2d5a122-100001848355029|Hc8qGl6xgpXlmhOWQrLv910on_8&expires_in=0

我如何在PHP中执行此操作?

3 个答案:

答案 0 :(得分:1)

URL的锚点部分永远不会被发送到服务器,因此如果您尝试从当前URL加载此信息,它将不会存在。

就服务器而言,浏览器加载的URL为http://www.mygridview.com/sephora/index.php?mod=config

有可能(甚至可能)某些javascript使用锚中的信息来恢复使用AJAX更改页面后的状态。在这种情况下,您需要查看Javascript以获取发送到服务器的锚信息

答案 1 :(得分:0)

您获取网址,然后在网址上应用解析功能。 例如::

$url = 'http://username:password@hostname/path?arg=value#anchor';

print_r(parse_url($url));

Output::
Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)

这个片段是你的要求。如果我是对的,那么尝试一下就能获得成功。 :) 感谢

获取当前URL ::

function getInstance($uri = 'SERVER')
    {

            if ($uri == 'SERVER')
            {
                if (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off')) {
                    $https = 's://';
                } else {
                    $https = '://';
                }

                if (!empty ($_SERVER['PHP_SELF']) && !empty ($_SERVER['REQUEST_URI'])) {
                    $theURI = 'http' . $https . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

                    if (strlen($_SERVER['QUERY_STRING']) && strpos($_SERVER['REQUEST_URI'], $_SERVER['QUERY_STRING']) === false) {
                        $theURI .= '?'.$_SERVER['QUERY_STRING'];
                    }
                }
                 else
                 {
                    $theURI = 'http' . $https . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'];
                    if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
                        $theURI .= '?' . $_SERVER['QUERY_STRING'];
                    }
                }

                $theURI = urldecode($theURI);
                $theURI = str_replace('"', '"',$theURI);
                $theURI = str_replace('<', '&lt;',$theURI);
                $theURI = str_replace('>', '&gt;',$theURI);
                $theURI = preg_replace('/eval\((.*)\)/', '', $theURI);
                $theURI = preg_replace('/[\\\"\\\'][\\s]*javascript:(.*)[\\\"\\\']/', '""', $theURI);

        }
        echo (string)$theURI;
    }

答案 2 :(得分:0)

Checkout http://www.routesjs.com,您应该能够获取值并使用ajax将其发送出去。