2017-07-20 28 views
1

我在我的網站上有不同的鏈接導致其他網站。我想用我的MySQL數據庫來統計不同鏈接上的點擊量。 我想過通過一個php文件重定向,它將其添加到數據庫中,但我寧願不重定向用戶。用戶是否有可能點擊標籤立即進入外部網站,我仍然可以點擊點擊?在MySQL數據庫中點擊<a>鏈接

感謝您的答案, 直到

+0

試試https://mixpanel.com/ –

+0

如果您的鏈接在新標籤頁/窗口中打開,您可以觸發點擊事件並使用AJAX更新數據庫。 –

+1

您或者需要像所提到的那樣通過PHP腳本重定向所有內容,或者有一個JavaScript腳本可以在點擊時發送AJAX請求 - 需要確保請求在下次訪問用戶之前完成。或者你可以使用谷歌分析,他們已經完成了全面的事件跟蹤。 – Giedrius

回答

0

是你可以運行一個Ajax請求並在完成請求時,那麼你可以將用戶重定向到任何你想要的地方。

在ajax請求中,您將計算點擊次數並將其保存到數據庫中。 你可以這樣做

$("a").click(function(){ 
    $.ajax({url: "scriptthatwillcountclick.php", success: function(result){ 
     window.open('redirect_here'); 
    }}); 
}); 
0

您可以使用jQuery的Ajax的funcionality實現你的目標,只是在點擊即使你的「a」元素創建並執行您的Ajax來保存你的數據庫上的點擊信息。

$('a').on('click', function(){ 
    $.ajax({ 
     method: "POST", 
     url: "save-my-click.php", 
     data: { 'extrainfo' : "Some extra info" } 
    }); 
}); 

不要event.preventDefault()上點擊事件返回false,或者,因爲它會制動的重定向。

UPDATE: 你不需要,因爲它會反正重定向,你是不是去處理他們設置成功錯誤功能。

0

使用ajax。

var data = {link:"value"}; 

$.ajax({ 
    url : "your_file.php", 
    type: "POST", 
    data : data, 
    success: function(data, textStatus, jqXHR) { 
    console.log(data); 
    }, 
    error: function (jqXHR, textStatus, errorThrown) { 
    console.log("error"); 
    } 
}); 

當按下鏈接時,您可以在.click函數中運行此代碼。 並在您的PHP文件中增加計數。

+0

謝謝!但我有10個不同的鏈接,從我的MySQL數據庫中添加一個PHP循環...是否可以通過onclick函數發送一個數字給ajax? – till36

+0

是的!你可以傳入一個數字到數據對象。 'var data = {number:1};' 然後在你的php文件中: '$ number = $ _POST ['number'];'' –

相關問題