2014-10-27 2 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 click на изображении и сделал, чтобы сделать ajax-вызов вашей функции php writelog. Является ли это лучшим методом для обсуждения, но именно так я бы выполнил эту задачу.

<a class="clicked_link"> 

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

Вот не-JS версии: Есть ссылку загрузить PHP страницу, которая загружает изображение, а затем каждый раз, когда эта страница называется отобразить его изображение и вызовите функцию WriteLog

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

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

Спасибо, но я надеялся избежать javascript, поскольку это можно отредактировать на стороне клиента. – dlofrodloh

+1

Обновлено без решения js – morissette

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, вы можете написать код для сохранения журнала.

Смежные вопросы