簡體   English   中英

JavaScript / PHP:獲取引薦關鍵字URL

[英]JavaScript/PHP: Get referral key URL

我正在研究ajax(本機JavaScript)表單。 我在獲取引薦密鑰並將其發送到PHP后端時遇到了麻煩。

這個想法是ajax請求將整個URL(帶有表單數據)作為字符串發送給PHP引擎。 然后,我可以在PHP中分解URL並提取密鑰。

這是我到目前為止的內容:

頁面網址:

http://example.com?ref=gr84r34ijg98g

JS:

// Send the form data with the URL
function getquerystring() {

    var email = document.getElementById('email').value;
    var URL = document.URL;
    qstr    = 'email=' + email + '& URL=' + URL;
    return qstr;
}

然后,在我的PHP中,我可以檢索表單數據和URL:

   $email = $_POST['email'];
   $url   = $_POST['URL'];

然后,我該如何細分URL,以便最后只有字符串形式的代碼? 我當時想我可以在發送之前分解JavaScript中的URL,盡管我認為使用PHP進行此操作可能更容易。

preg_match()這樣的東西可能會刪除“ http://example.com?ref= ”。 雖然不是很確定該怎么做。

是的,您可以在Javascript中獲得ref的值

function getquerystring() {
    var email = document.getElementById('email').value;
    var URL = document.URL;

    var URL_arr = URL.split('ref='); //<-- URL_arr[1] will give ref string

    qstr    = 'email=' + email + '&URL=' + URL;
    return qstr;
}
function getquerystring() {

    var email = document.getElementById('email').value;
    var URL = document.URL;
    qstr    = '?email=' + email + '& URL=' + URL;
    return qstr;
}

嘗試這個。

$ email = $ _GET ['email']; $ url = $ _GET ['URL'];

URL ..之前有多余的空格,您應該使用encodeURIComponent對其進行編碼。 更新此行

qstr    = 'email=' + encodeURIComponent(email) + '&URL=' + encodeURIComponent(URL);

而在PHP方面

$url = url_decode($_POST['URL']);
$email = url_decode($_POST['email']);

嘗試這個:

var query = window.location.search.substring(1).split('&');
var ref = '';
$.each(query, function(i, v) {
    v = v.split('=');
    if (v[0] === 'ref') {
        ref = v[1];
        return false;
    }
});
console.log(ref);

在包含所有內容之后,為什么不直接在PHP中執行以下操作(將其放置在標頭中(如果希望在所有頁面上都可以使用)或在index.php頂部:

<?php
$ref = (isset($_GET['ref']) && strlen($_GET['ref']) > 0) ? trim($_GET['ref']) : null;
//Process what ever you wanted to process from the beginning if you had a referral code
if(!is_null($ref)) {
   // do your action
}
?>

使用以上內容,您實際上不需要任何JavaScript。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM