【问题标题】:Current URL parameter in a new link in the page页面中新链接中的当前 URL 参数
【发布时间】:2016-04-23 17:22:30
【问题描述】:

我正在为我的博士研究创建一个网站。 我有同一个网页的多个版本(不同颜色、不同长度……),每个版本都有url参数。

我想在每个页面的底部创建一个链接,该链接会重定向到问卷调查网站,但会自动检索其所在页面的网址参数

示例

当前网址是:

http://abcmessage.com/abc?message=1&color=blue&lenght=small

您点击链接,它会将您带到问卷网站,并保留参数:

http://questionnaire.com/abc?message=1&color=blue&lenght=small

我应该在我的重定向链接旁边放什么来做到这一点?

我在下面找到了,但它并没有真正起作用:

 $text = '?';
$c = 0;
foreach($_GET as $k => $v){
    $text .= ($c>0) ? "&$k=$v" : "$k=$v";
    $c++;
}
$text = ($text=='?') ? "" : $text;

echo $text;

我不得不承认我对php 和Java了解不多,但是我正在自己工作并且必须完成工作,所以我会学习。所以非常感谢任何能提供帮助的人:)

干杯!

昏暗

【问题讨论】:

  • JAVA 不是 JavaScript!

标签: php get url-redirection url-parameters


【解决方案1】:

试试location.seach:

<a href="#"
onclick="this.href='http://questionnaire.com/abc'+window.location.search">Questionnaire</a>

【讨论】:

  • 这就像一个魅力。非常感谢@mplungjan!
【解决方案2】:

您可以使用http_build_query()

可以这样做:

all_requests = $_GET;

$build_query_http = http_build_query($all_requests);

echo "http://questionnaire.com/abc?" . $build_query_http;

或者您甚至可以在传递之前删除所有空请求:

foreach ($all_requests as $key => $var_val) {
  if(empty($var_val) || $var_val=='')
  {
    unset($all_requests[$key]);
  }
}

值得关注maximum length of a query string

【讨论】:

  • 我尝试了该解决方案,但不知道如何正确实现该代码。无论如何感谢您的帮助。
猜你喜欢
  • 2011-09-02
  • 1970-01-01
  • 2012-04-29
  • 2011-12-31
  • 1970-01-01
  • 2019-12-31
  • 2014-08-24
  • 1970-01-01
  • 2021-05-04
相关资源
最近更新 更多