【问题标题】:Passing and adding parameters through random url redirection通过随机 url 重定向传递和添加参数
【发布时间】:2016-06-30 03:56:57
【问题描述】:

我正在准备攻读博士学位。在其中我需要将参与者随机重定向到网页,保留并向 url 添加参数,以便在最后查看他们访问过的网页。但是,我是一名心理学家,所以 css 和 javascript 对我来说相当困难。

以下是我的学习方式:

  1. 我在社交媒体上发布了一个短链接,随机重定向到网页(第 2 点或第 3 点)。
  2. 带有链接的短消息随机重定向到第 3 阶段网页之一。
  3. 在网页末尾,有一个链接可以重定向到我的独特表单 (Typeform)。

→ Typeform 问卷可以读取和收集 URL 参数,因此我知道谁在第 2 阶段和第 3 阶段阅读了哪些页面,他们来自哪些社交媒体(第 1 阶段)。

我的问题是:我如何创建将随机重定向传递添加参数的脚本URL,取决于参与者将看到的网页?

示例:
1。我在推特上看到链接,我点击它。
脚本随机将我重定向到 http://example.com/stage2/ 并添加 ?source=twitter
2。我阅读了第二页并单击它提供的链接
脚本随机将我重定向到 http://example.com/stage3/?source=twitter 并添加 &stage2=theguysawstage2
3。我阅读了第三页并单击最后一个链接以访问 typeform。
脚本将我重定向到http://my.typeform.com/?source=twitter&stage2=theguysawstage2&stage3=theguysawstage3

非常感谢愿意提供帮助的人! 昏暗的NC

【问题讨论】:

    标签: javascript html redirect url-parameters


    【解决方案1】:

    以下是一些您也被重定向的随机链接的示例。 首先你得到0-2之间的随机数。然后你将你的链接推送到数组中。它们的索引在 0-2 之间。例如 facebook 是 nr 0,google 是 nr 1。您还可以在控制台中看到随机数。

       var random = Math.floor((Math.random() * 3) + 0); 
       var linkArray = new Array();
       linkArray.push("https://www.facebook.com/");
       linkArray.push("https://www.google.com/");
       linkArray.push("http://stackoverflow.com");  
       window.location = linkArray[random];
       console.log(random);
    

    【讨论】:

      【解决方案2】:

      [编辑] 答案如下:

      $links[] = 'http://url.com/abc?'.$_SERVER['QUERY_STRING'].'&newparameter1=foo&newparameter2=bar';
      

      .$_SERVER['QUERY_STRING']. 将获取当前参数及其值。您只需将其插入重定向 url 中所需的位置,然后添加新参数。

      但请注意,第一个参数前面应该有一个问号:?firstparameter=foo&secondparameter=bar

      [上一篇文章:]

      @PVL,我已经在 .php 文件中包含了用于随机重定向的内容:

      $links = array();  
      $links[] = 'http://facebook.com';  
      $links[] = 'http://google.com';  
      $links[] = 'http://stackoverflow.com';
      
      shuffle($links);
      
      $i= rand(0, (count($links) - 1));  
      $link   = $links[$i];
      
      header("Location: {$link}");
      exit;
      

      【讨论】:

      • 我认为 shuffle 在您的代码中是多余的。我从来没有试过这个。所以我不能给你一个确切的答案,因为如果我实施这个对我来说也是尝试和错误的。至于通过 ?webpage=facebook 重定向,您首先使用 if(isset($_GET["webpage"])){switch($_GET["webpage"]){ 然后 case "facebook": then redirect to facebook break; }}。希望这会有所帮助。
      猜你喜欢
      • 2019-07-19
      • 1970-01-01
      • 2012-05-27
      • 1970-01-01
      • 2014-05-22
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多