Foros del Web » Programando para Internet » PHP »

Crear contador de visitas

Estas en el tema de Crear contador de visitas en el foro de PHP en Foros del Web. Bueno esto no debe ser muy dificoilm, creo pero tengo algunos problemillas les cuento la idea es que se vaya contando la cantidad de veces ...
  #1 (permalink)  
Antiguo 22/02/2011, 13:44
Avatar de el_java  
Fecha de Ingreso: enero-2008
Mensajes: 185
Antigüedad: 16 años, 3 meses
Puntos: 3
Crear contador de visitas

Bueno esto no debe ser muy dificoilm, creo pero tengo algunos problemillas



les cuento
la idea es que se vaya contando la cantidad de veces que se accede a algun contenido

por ejemplo, tengo la pagina descarga.php

y en ella existe 3 enlaces a descargas


1 linkadescarga1 hits1
2 linkadescarga2 hits2
3 linkadescarga3 hits3


La idea es que, como son enlaces externos, se pueda guardar cada vez que alguien haga clic en un link de esos


Tengo la BD lista con una tabla de campos

ID Nombre Contador
1 descarga1 0
2 descarga2 0
3 descarga3 0


entonces traté de hacer la conexcion para que se vaya incrementando el contador pero no me sale, no se incrementa jajajaja

ya tengo como mostrar los hits, solo falta que se incremente en la BD

y no pasha na :/

el problema es que no se hacer como cada vez que se haga clic, se ejecute el script, lo intente con OnClick, pero no me funciono
:/


alguna idea??
quedo claro?


graicas de ante mano
:)
  #2 (permalink)  
Antiguo 22/02/2011, 13:48
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Crear contador de visitas

Y el código? Sin código dificil ayudarte :(
  #3 (permalink)  
Antiguo 22/02/2011, 13:51
Avatar de el_java  
Fecha de Ingreso: enero-2008
Mensajes: 185
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Crear contador de visitas

Si s eme olvido y no pude modificar, no se por que xD


este es el contador que hice :/
Código PHP:
Ver original
  1. function contador(){
  2.     //Suma un valor al hacer clic
  3.     $suma = mysql_query ("  SELECT Contador FROM tabla_prueba WHERE
  4.                             Nombre ='boton 3'");
  5.     $hits = mysql_fetch_array($suma);
  6.     $total = ($hits['Contador'] + 1);
  7.  
  8.     $ingresar = "UPDATE tabla_prueba SET Contador = '$total'
  9.                 WHERE Nombre ='boton 3'";
  10.     mysql_query($ingresar);
  11.    
  12.     }


y de este accedo a la funcion
Código HTML:
Ver original
  1. <td><a href="www.pagina.cl" onclick="contador();" >Descarga</a></td>


y con esto lo muestro

Código PHP:
Ver original
  1. //Muestra el numero de hits en la base de datos para el boton 1
  2.     $contador = mysql_query ("SELECT Contador FROM tabla_prueba WHERE
  3.                             Nombre ='boton 3'");
  4.     $hits = mysql_fetch_array($contador);
  5.     $hits2 = $hits['Contador'];
  6.     echo"$hits2";
  #4 (permalink)  
Antiguo 22/02/2011, 13:56
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Crear contador de visitas

No se si estoy entendiendo mal, pero estás llamando una función de php desde un evento javascript???? XDD

Eso no funciona así, en el php donde efectúas la descarga, tenés que hacer contador();. Todo depende de como funcione tu página de descarga final ( donde comienza a descargar el archivo ). Pero si querés hacerlo con una función en el onclick vas a tener que usar ajax.
  #5 (permalink)  
Antiguo 22/02/2011, 14:02
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 66
Antigüedad: 13 años, 3 meses
Puntos: 2
Busqueda Respuesta: Crear contador de visitas

Cita:
Iniciado por walterdevel Ver Mensaje
No se si estoy entendiendo mal, pero estás llamando una función de php desde un evento javascript???? XDD

Eso no funciona así, en el php donde efectúas la descarga, tenés que hacer contador();. Todo depende de como funcione tu página de descarga final ( donde comienza a descargar el archivo ). Pero si querés hacerlo con una función en el onclick vas a tener que usar ajax.
digo lo mismo ..
  #6 (permalink)  
Antiguo 22/02/2011, 14:02
Avatar de el_java  
Fecha de Ingreso: enero-2008
Mensajes: 185
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Crear contador de visitas

xD
no sabia jajaja
en too caso

tampoco se puede hacer asi?

OnCLick = <?php todo el php aqui ?>
  #7 (permalink)  
Antiguo 22/02/2011, 14:06
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 66
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Crear contador de visitas

la filosofía seria esta->
cuando una persona entra en tu pagina ve tu vínculos [y cuando clickee que se incremente un contador bueno]
en realidad no lo tienes que hacer cuando clike si no cuando entre, cuando entre a uno de los vínculos en la pagina de ese vinculo llamas a la función php para que agregue uno al contador de la pagina (pero todo por php)
  #8 (permalink)  
Antiguo 22/02/2011, 14:07
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Crear contador de visitas

No, no se puede. Ya te dije las opciones XD. Es simple, php funciona del lado del servidor y js del lado del cliente. Entoooooooonces, js no puede comunicarse con el servidor ( a no ser por medio de AJAX !!!). Suerte con eso, revisa el foro de ajax, vas a ver que no es tan complicado.
  #9 (permalink)  
Antiguo 22/02/2011, 14:08
Avatar de el_java  
Fecha de Ingreso: enero-2008
Mensajes: 185
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Crear contador de visitas

pero los vinculos son externos
es decir
por ejemplo

en la pagina de descarga.php tengo un link que dice "descargar" y ese redirecciona a un link de un host gratuito, por ejemplko megaupload
  #10 (permalink)  
Antiguo 22/02/2011, 14:10
Avatar de el_java  
Fecha de Ingreso: enero-2008
Mensajes: 185
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Crear contador de visitas

Cita:
Iniciado por walterdevel Ver Mensaje
No, no se puede. Ya te dije las opciones XD. Es simple, php funciona del lado del servidor y js del lado del cliente. Entoooooooonces, js no puede comunicarse con el servidor ( a no ser por medio de AJAX !!!). Suerte con eso, revisa el foro de ajax, vas a ver que no es tan complicado.
ok , graicas
pero debe haber alguna forma de hacerlo en PHP
:/
  #11 (permalink)  
Antiguo 22/02/2011, 14:12
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 66
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Crear contador de visitas

Cita:
Iniciado por el_java Ver Mensaje
xD
no sabia jajaja
en too caso

tampoco se puede hacer asi?

OnCLick = <?php todo el php aqui ?>
no tampoco porque sigues llamando a javascript
onclick es un evento javascript como onmouse, keyup y todos los demas, como dijo walterdevel si lo deseas acer por un evento de javascript "onclick" lo arias por ajax "que es javascript" y con el llamas a una pagina php que hace el conteo sin que se el usuario se entere de que esta pasando ...XD

pero hagas como lo hagas tiene que hacer con php ya que estas interractuando con servidor y javascript es cliente no de servidor (exceptuando librerías...XD)
  #12 (permalink)  
Antiguo 22/02/2011, 14:14
Avatar de el_java  
Fecha de Ingreso: enero-2008
Mensajes: 185
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Crear contador de visitas

ok, me quedo claro, lo del onclick, yo lo hice porque nbo sabia como ahcerlo (no se si se dieron cuenta jajaja xD)

pero como comente mas arriba, habra alguna forma de hacerlo solo con PHP??


que cada vez que alguien haga click a un link externo, este aumente el contador de la tabla en la BD asociado a ese link??
  #13 (permalink)  
Antiguo 22/02/2011, 14:16
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Crear contador de visitas

Entonces hacé esto, crea un php que va a funcionar solo como redirector ( ej redirector.php ) . Creá una función redireccionar() en javascript, en esa función haces

Código Javascript:
Ver original
  1. location.href = "redirector.php?nombre='boton 3';";

en redirector.php haces lo que hacías antes:

Código PHP:
Ver original
  1. //Suma un valor al hacer clic
  2.  
  3.     $suma = mysql_query ("  SELECT Contador FROM tabla_prueba WHERE
  4.  
  5.                            Nombre ='".$_GET['nombre']."'");
  6.  
  7.     $hits = mysql_fetch_array($suma);
  8.  
  9.     $total = ($hits['Contador'] + 1);
  10.  
  11.  
  12.  
  13.     $ingresar = "UPDATE tabla_prueba SET Contador = '$total'
  14.  
  15.                WHERE Nombre ='boton 3'";
  16.  
  17.     mysql_query($ingresar);
  18.  
  19.    //ACA AGREGAS UNA REDIRECCION AL LINK EXTERNO
  20.  
  21.   header("Location: http://megaupload.com?v=2342342");

PD: si usás algo así, tenés que sanitizar el $_GET['nombre'] para evitar sql injection.
  #14 (permalink)  
Antiguo 22/02/2011, 14:32
Avatar de el_java  
Fecha de Ingreso: enero-2008
Mensajes: 185
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Crear contador de visitas

gracias
lo toy probando
a que te refieres con sanitizar??
:P
  #15 (permalink)  
Antiguo 22/02/2011, 14:34
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Crear contador de visitas

Cita:
Iniciado por el_java Ver Mensaje
gracias
lo toy probando
a que te refieres con sanitizar??
:P
Me refiero a limpiar o escapar la variable, por ejemplo:

Código PHP:
mysql_real_escape_string ($_GET['nombre']); 
  #16 (permalink)  
Antiguo 22/02/2011, 14:39
Avatar de el_java  
Fecha de Ingreso: enero-2008
Mensajes: 185
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Crear contador de visitas

ahi funciono perfecto
se agradece dtoda la ayuda y paciencia
te pasaste
:)


solo por curiosidad
para que es la ultima linea que me escribiste???
  #17 (permalink)  
Antiguo 22/02/2011, 14:40
 
Fecha de Ingreso: septiembre-2009
Mensajes: 230
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Crear contador de visitas

porque no haces un php que te redireccione a la descarga y agrege el hit a la db todo en el mismo??

Código PHP:
$query "SELECT * FROM `".$_GET['clasification']."` WHERE id = ".$_GET['id']." LIMIT 1";
$resultado mysql_query ($query$dbConn);
$row mysql_fetch_assoc ($resultado);

$new_downloads    $row['downloads'] + 1;    
$query  "UPDATE `".$clasification."` set downloads = '$new_downloads' WHERE id = '".$row['id']."'";
$result mysql_query($query$dbConn);
header'Location: '.$row['link'].'' );

die; 
te lleva al link de descarga, pero antes agrega 1 hit al link.
  #18 (permalink)  
Antiguo 22/02/2011, 14:42
Avatar de el_java  
Fecha de Ingreso: enero-2008
Mensajes: 185
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Crear contador de visitas

y eso donde lo coloco

el problema era que es al hacer un clic

por eso se uso el onclick co js :/
  #19 (permalink)  
Antiguo 22/02/2011, 14:47
 
Fecha de Ingreso: septiembre-2009
Mensajes: 230
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Crear contador de visitas

esa es tu plantilla "download.php", entonces el link seria asi:

<a href="download.php?id=1">LINK1</a>

En la base de datos te busca el ID1, le agrega 1hit al contador, y lleva al link que aparece en la fila ID 1.
  #20 (permalink)  
Antiguo 22/02/2011, 14:49
Avatar de el_java  
Fecha de Ingreso: enero-2008
Mensajes: 185
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Crear contador de visitas

mmm interesante
se agradece
cuando llege a la casa probare esa opcion
asi queda mas ordenadito
se agradece

=D
  #21 (permalink)  
Antiguo 22/02/2011, 14:52
 
Fecha de Ingreso: septiembre-2009
Mensajes: 230
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Crear contador de visitas

Es un poco mas de trabajo, pero es mucho mas facil y rapido:

necesitas una base de datos donde metas los links, visitas, comentarios esas pabadas, y despues sacas todos los datos, y actualizas nada mas! :D
  #22 (permalink)  
Antiguo 22/02/2011, 14:52
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Crear contador de visitas

Cita:
Iniciado por el_java Ver Mensaje
ahi funciono perfecto
se agradece dtoda la ayuda y paciencia
te pasaste
:)


solo por curiosidad
para que es la ultima linea que me escribiste???
Si te referías a esto:

Código PHP:
header("Location: http://megaupload.com?v=2342342"); 
es para redireccionar a otra url.
  #23 (permalink)  
Antiguo 22/02/2011, 14:56
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 15 años, 8 meses
Puntos: 103
Respuesta: Crear contador de visitas

utiliza esto:
Código PHP:
Ver original
  1. $query = mysql_query ("update nombre_tabla set Contador = Contador+1 Where ID='".mysql_real_escape_string($_GET['id'])."'");
  2. $query = mysql_fetch_array($query);
  3. header("Location: http://megaupload.com?v=2342342");
  #24 (permalink)  
Antiguo 22/02/2011, 14:59
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 66
Antigüedad: 13 años, 3 meses
Puntos: 2
Mensaje Respuesta: Crear contador de visitas

Cita:
Iniciado por el_java Ver Mensaje
ahi funciono perfecto
se agradece dtoda la ayuda y paciencia
te pasaste
:)


solo por curiosidad
para que es la ultima linea que me escribiste???
la ultima linea que te escribo es un header -> cabecera (una función de php) que uno de sus parámetros es location lo que hace es redireccionar la pagina a lo va después de location:
Código PHP:
 header("Location: http://megaupload.com?v=2342342"); 
en este caso se redirecciona a http://megaupload.com?v=2342342
otro ejemplo seria

Código PHP:
 header("Location: http://google.es"); 
y la web te redirecciona a google.es

Cita:
ojo que cuando php encuentra una cabecera header con el parámetro location no ejecuta el código php que va después y tambien hay problemas si antes de cualquier header colocas un echo
  #25 (permalink)  
Antiguo 23/02/2011, 05:19
Avatar de el_java  
Fecha de Ingreso: enero-2008
Mensajes: 185
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Crear contador de visitas

ahhh gracias, eso lo sabia, fue culpa mia por no haber dicho la linea
xD

era esta

Código PHP:
Ver original
  1. mysql_real_escape_string ($_GET['nombre']);

saludos y gracias :)
  #26 (permalink)  
Antiguo 23/02/2011, 06:30
Avatar de el_java  
Fecha de Ingreso: enero-2008
Mensajes: 185
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Crear contador de visitas

Cita:
Iniciado por kirst Ver Mensaje
esa es tu plantilla "download.php", entonces el link seria asi:

<a href="download.php?id=1">LINK1</a>

En la base de datos te busca el ID1, le agrega 1hit al contador, y lleva al link que aparece en la fila ID 1.
me gusto tu metodo
lo probe y funciona perfecto, es mas general

solo me queda una duda

donde le mando la clasificacion???
(que es la tabla)

Código PHP:
Ver original
  1. `".$_GET['clasification']."`


se puede agregar otro item en el traspaso a traves de url?? onda asi...
Código HTML:
Ver original
  1. <a href="download.php?id=1, clasificacion=audio">LINK1</a>
  #27 (permalink)  
Antiguo 23/02/2011, 06:49
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 15 años, 8 meses
Puntos: 103
Respuesta: Crear contador de visitas

si se puede
Código HTML:
Ver original
  1. <a href="download.php?id=1&clasificacion=audio">LINK1</a>
  #28 (permalink)  
Antiguo 23/02/2011, 07:11
Avatar de el_java  
Fecha de Ingreso: enero-2008
Mensajes: 185
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Crear contador de visitas

ok gracias te pasaste
=)

Etiquetas: contador, visitas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:09.