2014-10-27 77 views
-1

我有一个包含上传文件的数据库。给上传文档的链接是:单击链接时执行php操作的最佳方法?

<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)所以我可以看到用户查看了什么文档。

什么是做到这一点的最简单的方法?

回答

0

我会在图像上添加一个js/jQuery的单击事件,并有让您的PHP函数WRITELOG Ajax调用。这是否是最好的方法就是辩论,但这就是我如何完成任务。

<a class="clicked_link"> 

$(".clicked_link").click(function() { 
    var file_name = ..... 
    $.ajax({ 
    ... 
    }) 
}); 

这里是一个非JS版: 有链接加载加载图像,然后每一个页面被称为有它显示的图像,并调用WRITELOG功能时PHP页面

<a href="load_image.php?filename=PHPCODE"> 

<php 
$file = $_GET['filename']; 
writelog(one, two); 
+0

谢谢,但我希望避免JavaScript作为可编辑的客户端侧 – dlofrodloh 2014-10-27 19:00:51

+1

更新瓦特/非JS溶液 – morissette 2014-10-27 19:02:33

0

您应该使用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中,你可以编写代码来保存日志。