Hola, necesito una ayudita con un contador de clicks aplicado a una imagen lo hago para un modulo en joomla... pero no ed problema de joomla sino de ajax si no es asi el moderador dirá...
El contador lo hice con php y funciona bien... mi problema es que como necesito disparar la funcion de php en un evento onClick y no se puede hacer directamente y lo hice con ajax. El resultado es que me envia el usuario, y me cuenta los clicks pero no me envia el id de la pagina y guarda todo en la DB pero con el id de la pagina en blanco... este resultado es igual a lo que me da ponerle
<a href="contador.php"><img src="imagen.jpg"/></a>
alguien sabe com puedo resolver esto? o hacerlo de otra manera?
a continuacion dejo mi codigo por si sea más elocuente que yo
lo que dispara la accion
Código:
if ($showprint) echo spoAddLink($display, "print.png", _PP, "<a href='javascript:;' onclick='imprimir()'>"); else $icount--;
El codigo ajax
Código:
<script type="text/javascript" src="libraries/jquery/jquery.js"></script>
<script>
jQuery.noConflict();
function imprimir(){
var user = document.getElementById("username");
var id = document.getElementById("idLink");
if(user == "" || id == ""){
alert('aca no hay nada');
}else{
jQuery.ajax({
type: "POST",
url: "modules/mod_spo/contadorClicks.php",
data: 'user='+ user + 'id='+ id,
cache: false,
success: function(contarClicks)
{
window.print(); return false;
}
});
}
}
</script>
el codigo php por si hiciera falta
Código:
function contarClicks(){
$idLink = JRequest::getVar('id');
$user =& JFactory::getUser();
$username=$user->get('username');
$db = & JFactory::getDBO();
$db -> get('jos_clicks');
$comprobar = mysql_query("SELECT * FROM jos_clicks WHERE idLink='$idLink'");
$existencia = mysql_num_rows($comprobar);
if ($existencia >= 1){
$update = "UPDATE jos_clicks SET clicks=(clicks + 1) WHERE idLink='$idLink'";
mysql_query($update) or die (mysql_error());
echo'se actualizo clicks';
/* header('location:http://'.$route);*/
}else{
$saveUrl = "INSERT INTO jos_clicks VALUES ('', '$idLink', '$username', '1')";
mysql_query($saveUrl) or die (mysql_error());
echo'se agrego url';
/* header('location:http://'.$route);*/
}
}
return contarClicks();