2016-03-14 79 views
1

我正在爲我的博士學位準備一項研究。我需要隨機將參與者重定向到網頁,保存並向網址添加參數,以便在最後查看他們訪問過的網頁。但是,我是一名心理學家,所以對於我來說,JavaScript是非常困難的。通過隨機URL重定向傳遞和添加參數

這裏是我的研究如何將:

  1. 我發佈在社交媒體一個縮短的鏈接,隨機重定向到一個網頁(點2或第3點)。
  2. 帶有鏈接的短消息隨機重定向到第3階段的其中一個網頁。
  3. 在網頁的末尾,有一個鏈接重定向到我的獨特形式(Typeform)。

→Typeform調查問卷可以讀取和收集URL參數,因此我知道是誰在第2階段和第3階段從哪些社交媒體(第1階段)中讀取哪些頁面。

我的問題是:如何創建腳本,將隨機重定向 & 添加 URL參數,取決於網頁與會者將看到什麼?

實施例:
。我看到了twitter上的鏈接,我點擊它。
腳本隨機重定向我http://example.com/stage2/並添加?源=嘰嘰喳喳
。我讀到第二頁,並點擊它提供
腳本隨機重定向我http://example.com/stage3/?source=twitter,並增加了&階段2 = theguysawstage2
。我讀了第三頁,然後點擊最後一個鏈接以獲得字體。
腳本將我重定向到http://my.typeform.com/?source=twitter&stage2=theguysawstage2&stage3=theguysawstage3

非常感謝誰幫助! DimNC

回答

0

[編輯] 這裏的答案:

$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; 
+0

我認爲洗牌是在你的代碼冗餘。我從來沒有試過這個。所以我不能給你一個確切的答案,因爲如果我實現這個,它也會是我的錯誤。至於通過?webpage = facebook重定向,你首先使用if(isset($ _ GET [「webpage」))){switch($ _ GET [「webpage」]){then case「facebook」:then redirect to facebook break; }}。希望這會有所幫助。 – PVL

0

下面是一些您也被重定向的隨機鏈接的示例。 首先你得到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);