嗯,我是新來的,所以我想記錄當用戶點擊PHP打印和查詢MySQL數據庫的鏈接。我知道如何使用php查詢數據庫,但我不確定是否有可能知道用戶是否點擊了鏈接。如何檢查一個鏈接是否已被點擊在php
我打印出如此的鏈接。
print ('<a id="myLink" href="http://www.google.com" target="_blank">google</a>');
嗯,我是新來的,所以我想記錄當用戶點擊PHP打印和查詢MySQL數據庫的鏈接。我知道如何使用php查詢數據庫,但我不確定是否有可能知道用戶是否點擊了鏈接。如何檢查一個鏈接是否已被點擊在php
我打印出如此的鏈接。
print ('<a id="myLink" href="http://www.google.com" target="_blank">google</a>');
要跟蹤鏈接,您需要在服務器上創建鏈接跟蹤腳本。即linktracker.php
然後,改變你的代碼,以鏈接到該腳本,通過轉發URL即
<a id="myLink" href="http://mysite.com/linktracker.php?url=http://www.google.com" target="_blank">google</a>
在linktracker.php,你需要這樣的:
<?php
$url = $_GET['url'];
// update your database click count for the url
// i.e UPDATE linkclicks SET clickcount = clickcount + 1 WHERE url = '$url'
// forward the user to the end location
header("Location: $url");
看起來最簡單的是我正在嘗試做的事情。不得不啓動會話和會話數組,但它的工作。 – wazy 2012-04-28 04:24:49
除非鏈接到自己的網站,你需要使用客戶端腳本語言諸如JavaScript(可能使用jQuery的太)到用戶的點擊事件發送回服務器。
添加onclick="handleClick()"
並編寫了一個名爲點擊報告服務器uaing AJAX
你需要建立一個URL重定向機制javascript函數。
$link = 'http://www.google.com';
echo '<a href="/redir.php?target="'.encodeUriComponent($link).'>google</a>';
然後做出redir.php:
<?php
$targetUrl = $_REQUEST['target'];
// log this targetUrl to your MySQL database.
header('Location:'.$targetUrl);
我絕對,如果你想嘗試跟蹤鏈接股份或類似這種事情不會做這在JavaScript中。
我不會建議這樣做,除非你注意安全漏洞。欲瞭解更多信息CSRF攻擊的海嘯 – 2012-04-28 00:17:53
嗯。這甚至沒有任何意義。做URL重定向機制的「正確」方式是爲URL創建一個哈希表(防止從外部使用),但我真的不知道你是怎麼想這是某種CSRF的。它是一個重定向程序,正如我們自90年代初以來一直在使用Web一樣。甚至沒有提到登錄系統。我認爲你需要對CSRF進行更多的研究。 – 2012-04-28 00:22:31
不能upvote你,但這個概念是我用來解決這個問題。謝謝。 – wazy 2012-04-28 04:25:35
您必須使用JavaScript來觸發對您服務器的請求。當用戶查看你的頁面時,PHP的工作很長時間了。 – 2012-04-28 00:08:45
[JavaScript鏈接點擊計數器]的可能重複(http://stackoverflow.com/questions/3114969/javascript-link-click-counter) – 2012-04-28 00:08:59
或者,您可以鏈接到:http://www.yoursite.com/redirect .php?www.google.com/並實施必要的日誌記錄和重定向功能。 – jedwards 2012-04-28 00:14:55