通过随机 url 重定向传递和添加参数

Passing and adding parameters through random url redirection

我正在为 Ph.D 准备一项研究。其中我需要将参与者随机重定向到网页,保留并向 url 添加参数以查看他们访问过哪些网页。但是,我是一名心理学家,所以 css & javascript 对我来说很难。

以下是我的学习方式:

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

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

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

示例:
1。我在 twitter 上看到 link,我点击它。
脚本随机将我重定向到 http://example.com/stage2/ 并添加 ?source=twitter
2。我阅读了第二页并单击它提供的 link
脚本随机将我重定向到 http://example.com/stage3/?source=twitter 并添加 &stage2=theguysawstage2
3。我读了第三页,然后单击最后的 link 进入字体。
脚本将我重定向到 http://my.typeform.com/?source=twitter&stage2=theguysawstage2&stage3=theguysawstage3

非常感谢愿意提供帮助的人! DimNC

以下是您也被重定向的一些随机链接的示例。 首先你得到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://whosebug.com");  
   window.location = linkArray[random];
   console.log(random);

[编辑] 答案如下:

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

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

不过要小心,第一个参数前面应该有一个问号:?firstparameter=foo&secondparameter=bar.

[上一个 post:]

@PVL,我已经在 .php 中有了它用于随机重定向:

$links = array();  
$links[] = 'http://facebook.com';  
$links[] = 'http://google.com';  
$links[] = 'http://whosebug.com';

shuffle($links);

$i= rand(0, (count($links) - 1));  
$link   = $links[$i];

header("Location: {$link}");
exit;