2014-10-27 89 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中,你可以編寫代碼來保存日誌。