点击链接时执行php操作的最佳方式


Best way to do a php action when a link is clicked?

我有一个包含上传文档的数据库。上传文档的链接是:

<a href="http://<?php echo $_SERVER['HTTP_HOST'];     
htmlout('/database/docs/'.$cand['id'].'/'.$docs['filename']);?>">
    <img src="http://<?php echo $_SERVER['HTTP_HOST'];?>/database/img/cv.png" border="0">
</a> 

我想调用一个函数,当点击这样的链接时,它会写入活动日志,例如writelog($userid, $msg),这样我就可以看到哪个用户查看了什么文档。

最简单的方法是什么?

我会在图像上添加一个js/jquery点击事件,并让它对php写日志函数进行ajax调用。这是否是最好的方法还有待商榷,但这就是我完成任务的方式。

<a class="clicked_link">
$(".clicked_link").click(function() {
  var file_name = .....
  $.ajax({
    ...
  })
});

这是一个非js版本:让链接加载一个加载图像的php页面,然后每次调用该页面时都显示图像并调用写日志函数

<a href="load_image.php?filename=PHPCODE">
<php
$file = $_GET['filename'];
writelog(one, two);

当用户点击锚点(即)时,您应该使用ajax函数向PHP脚本发送请求

注意:此代码需要jQuery

$(function(){ 
    $('a').click(function(e){
           e.preventDefault();
           $.post('<URL_TO_PHP_FILE>', { data: { userid: 1, message: 'clicked' }, function(){
                               alert('Log has been written');
           } });
    });
});

在PHP中,您可以编写代码来保存日志。