如何检查是否在php中单击了链接

如何检查是否在php中单击了链接,php,Php,我是新手,所以我想记录用户何时单击php打印的链接并查询mysql数据库。我已经知道如何使用php查询数据库,但我不确定是否有可能知道用户是否单击了链接 我打印了一个这样的链接 打印(“”)除非链接到您自己的站点,否则您需要使用客户端脚本语言,如JavaScript(也可以使用jQuery)将用户的点击事件发送回服务器。除非链接到您自己的站点,否则您需要使用客户端脚本语言,如JavaScript(也可以使用jQuery)将用户的点击事件发送回服务器。添加onclick=“handleClick(

我是新手,所以我想记录用户何时单击php打印的链接并查询mysql数据库。我已经知道如何使用php查询数据库,但我不确定是否有可能知道用户是否单击了链接

我打印了一个这样的链接


打印(“”)

除非链接到您自己的站点,否则您需要使用客户端脚本语言,如JavaScript(也可以使用jQuery)将用户的点击事件发送回服务器。

除非链接到您自己的站点,否则您需要使用客户端脚本语言,如JavaScript(也可以使用jQuery)将用户的点击事件发送回服务器。

添加
onclick=“handleClick()”
并编写名为
handleClick
的javascript函数,使用ajax向服务器报告点击
并编写名为
handleClick
的javascript函数,以使用ajax向服务器报告单击情况

您需要构建URL重定向机制

$link = 'http://www.google.com';
echo '<a href="/redir.php?target="'.encodeUriComponent($link).'>google</a>';
$link=http://www.google.com';
回声';
然后制作一个redir.php:

<?php
$targetUrl = $_REQUEST['target'];
// log this targetUrl to your MySQL database.

header( 'Location:'.$targetUrl);

您需要构建URL重定向机制

$link = 'http://www.google.com';
echo '<a href="/redir.php?target="'.encodeUriComponent($link).'>google</a>';
$link=http://www.google.com';
回声';
然后制作一个redir.php:

<?php
$targetUrl = $_REQUEST['target'];
// log this targetUrl to your MySQL database.

header( 'Location:'.$targetUrl);

要跟踪链接,需要在服务器上创建链接跟踪脚本。i、 e.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"); 

要跟踪链接,需要在服务器上创建链接跟踪脚本。i、 e.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"); 

您必须使用javascript触发对服务器的请求。当用户查看您的页面时,PHP的工作早已完成。或者,您可以链接到:并实现必要的日志记录和重定向功能。您确实没有尝试使用javascript,因此我将尝试其中一些重定向。PHP建议您必须使用javascript触发对服务器的请求。当用户查看您的页面时,PHP的工作已经完成很久了,您可以链接到:并实现必要的日志记录和重定向功能。我确实没有尝试使用javascript,因此我将尝试其中一些重定向。php建议除非您注意安全漏洞,否则我不建议您这样做。有关CSRF攻击的更多信息,请参阅seaech。这根本没有任何意义。做URL重定向机制的“正确”方法是为URL创建一个哈希表(防止从外部使用),但我真的不知道你怎么认为这是某种CSRF。它是一个重定向器,就像我们从90年代初开始在网络上做的那样。甚至没有提到登录系统。我认为你需要对CSRF做更多的研究。我也不能给你投票,但这个概念是我用来解决这个问题的。谢谢。我不建议你这么做,除非你注意安全漏洞。有关CSRF攻击的更多信息,请参阅seaech。这根本没有任何意义。做URL重定向机制的“正确”方法是为URL创建一个哈希表(防止从外部使用),但我真的不知道你怎么认为这是某种CSRF。它是一个重定向器,就像我们从90年代初开始在网络上做的那样。甚至没有提到登录系统。我认为你需要对CSRF做更多的研究。我也不能给你投票,但这个概念是我用来解决这个问题的。谢谢。看来我想做的最简单了。虽然必须启动会话和会话数组,但它工作了。对于我尝试做的事情来说似乎最简单。虽然必须启动会话和会话阵列,但它仍然有效。