PHP在#之后获取当前URL参数

时间:2015-10-28 04:21:56

标签: php uri

我想要一个包含url地址的变量,例如此示例

当我打开http://localhost/test?alfa=b&bravo=c#question=Z

我想在网上打印“question = Z”

我尝试使用REQUEST_URI

$url=$_SERVER['REQUEST_URI'];

浏览器只显示“/ test?alfa = b& bravo = c”而没有“question = Z”

有人可以帮我解决这个问题吗?

之前谢谢

3 个答案:

答案 0 :(得分:1)

在研究了php和java之后,我可以通过结合php n java

获得#hashtag

这里放javascript:

<script type="text/javascript">
var test = window.location.hash.replace("#","$");
document.cookie = 'tag=' + test;
</script>

最后,把这个php放到变量

<?php  
$hashtag = $_COOKIE["tag"]; $hashtag = substr($hashtag,11,1000);
?>

我放1000,因为我限制输入问题最多1000个字符

答案 1 :(得分:0)

也许你刚刚犯了一个错误,你的意思是:

http://localhost/test?alfa=b&bravo=c&question=Z

然后你的错误只会是一个错字。

否则,没有解决方法。 #包括和之后的所有内容从未实际传输到服务器。它在浏览器上进行本地评估。

服务器只能看到Domain,URI和teh查询字符串。

问候,

的Stefan

答案 2 :(得分:0)

使用此类网址

http://localhost/test?alfa=b&bravo=c&question=Z

然后在php你可以通过

抓住它们
$alfa = $_GET['alfa'];
$bravo = $_GET['bravo'];
$question = $_GET['question'];

抓住

<?php
   if( $_GET["alfa"] || $_GET["bravo"] )
   {
      echo "I'm ". $_GET['alfa']. "<br />";
      echo "I'm ". $_GET['bravo'];

      exit();
   }
?>

<?php
   if( !empty($alfa) || !empty($bravo) )
   {
      echo "I'm ". $alfa. "<br />";
      echo "I'm ". $bravo;

      exit();
   }
?>

关于GET

  1. GET方法会生成一个出现在服务器中的长字符串 日志,在浏览器的位置:框中。
  2. GET方法仅限发送最多1024个字符。
  3. 如果您有密码或其他敏感信息,请勿使用GET方法 要发送到服务器的信息。
  4. GET不能用于发送二进制数据,如图像或单词 文件,到服务器。
  5. 可以使用QUERY_STRING访问GET方法发送的数据 环境变量。
  6. PHP提供$_GET个关联数组来访问所有已发送的数组 使用GET方法的信息。
    1. PHP - GET & POST Methods
    2. HTTP Methods: GET vs. POST