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:
el codigo php por si hiciera falta<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>
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();






