嗯,我是新来的,所以我想记录当用户点击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