Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取“中哈希”后的值;php“name”吗;?_Php_Url - Fatal编程技术网

如何获取“中哈希”后的值;php“name”吗;?

如何获取“中哈希”后的值;php“name”吗;?,php,url,Php,Url,对于给定的url,我希望从数据库中获取哈希年龄后的名称。因此,对于像thepage.php#Madonna这样的url,您将看到“119!” 如何提取url中哈希后的值?(我需要一个安全的全浏览器兼容的非JAVASCRIPT方式)。我想这样做,就像$u GET['after hash'] 我不使用GET的原因是因为我想使用AJAX和jquery的历史插件 基本上,我希望使用ajax根据散列后分配的值从服务器检索数据。Javascript window.location.hash将为您提供此值。然

对于给定的url,我希望从数据库中获取哈希年龄后的名称。因此,对于像
thepage.php#Madonna
这样的url,您将看到“
119!

如何提取url中哈希后的值?(我需要一个安全的全浏览器兼容的非JAVASCRIPT方式)。我想这样做,就像$u GET['after hash']

我不使用GET的原因是因为我想使用AJAX和jquery的历史插件

基本上,我希望使用ajax根据散列后分配的值从服务器检索数据。

Javascript
window.location.hash将为您提供此值。然后,您可以(通过AJAX)将其传递到服务器以获得结果

PHP 检查碎片

返回值

对于格式严重错误的url,parse_url()可能返回FALSE并发出E_警告。否则将返回关联数组,其组件可能是(至少一个):

  • 方案-例如http
  • 主人
  • 港口
  • 使用者
  • 通过
  • 路径
  • 查询-在问号之后
  • 片段-在hashmark#之后

    • 这个问题没有多大意义,你需要澄清一下


      您想在不使用Javascript的情况下对URL进行散列,但以Ajax可以使用的方式进行散列?

      我认为这是不可能的。浏览器将#之后的字符串解释为当前页面中的定位点名称。它没有传递到服务器。

      什么?!绝对不是。我想提取url中#后面的值。我不需要澄清我的问题,伙计,你需要澄清你的阅读。绝对是一个好的观点——当前页面的URL片段对PHP不可用。然而,目前尚不清楚这是否与OP的问题有关。该片段可用于Javascript.com。当你不想被服务器端安全组件(如IDS)检测到时,这甚至可以用于伪造用于XXS攻击的URL。如果不是JAVASCRIPT,那么答案是:这是不可能的,浏览器不会发送后面的内容,这是设计上的行为。啊,我看到了误解,你的意思是在#之后。在编程中,“Hash”一词有特殊含义,它不是指#符号。我会称之为#,或数字符号。但我不希望JS成为使用我的网站的必要条件。我希望它能起作用,至少从用户的角度来看是这样的,在使用JS和不使用JS时都是这样。将您的URL方案改为类似于page.php/Madonna。url的尾部可以通过解析$_SERVER[“REQUEST_URI”]@Paul访问,但是如果url是page.php/Madonna,我就不能使用jquery的历史插件。你知道我用ajax操作url的方法吗?如果浏览器愿意发送片段给你,但这很棘手。你知道一个php函数吗?我可以用它提取整个url以传递解析url($url)?