Foros del Web » Programando para Internet » PHP »

Como contar una pagina visitada, solamente al apretar un enlace

Estas en el tema de Como contar una pagina visitada, solamente al apretar un enlace en el foro de PHP en Foros del Web. Este problema no lo pude solucionar, la cosa es asi: Cuando presiono un enlace mando variables por el metodo get a otra pagina indicando valores ...
  #1 (permalink)  
Antiguo 08/07/2011, 22:12
Avatar de skyz  
Fecha de Ingreso: abril-2010
Mensajes: 170
Antigüedad: 14 años
Puntos: 1
Exclamación Como contar una pagina visitada, solamente al apretar un enlace

Este problema no lo pude solucionar, la cosa es asi:

Cuando presiono un enlace mando variables por el metodo get a otra pagina indicando valores y tambien el valor de que se presiono el enlace, pero en la pagina de destino cada vez que la actualiza realiza el conteo, como se puede realizar un contador que cuente solo apretando el enlace de la primera pagina y no asi refrescando la pagina de destino.

Gracias por su tiempo
  #2 (permalink)  
Antiguo 08/07/2011, 22:22
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Como contar una pagina visitada, solamente al apretar un enlace

explicarte mejor, no entiendo lo que dices
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 08/07/2011, 22:30
Avatar de skyz  
Fecha de Ingreso: abril-2010
Mensajes: 170
Antigüedad: 14 años
Puntos: 1
Respuesta: Como contar una pagina visitada, solamente al apretar un enlace

Es que el problema es cuando actualizo la pagina destino, como mando la variable de que se presiona la primera pagina (la pagina que esta el enlace o link), al actualizar la pagina destino siempre realiza el conteo, como manipulo ese valor porque al refrescar la pagina siempre esta ese valor de la primera pagina.
  #4 (permalink)  
Antiguo 08/07/2011, 23:23
Avatar de Pablo Ayala  
Fecha de Ingreso: septiembre-2005
Ubicación: Cancún, México
Mensajes: 231
Antigüedad: 18 años, 7 meses
Puntos: 28
Respuesta: Como contar una pagina visitada, solamente al apretar un enlace

Utiliza SESSION...

De esta manera si existe, no le suma al contador y si no existe.. si le suma...

Saludos
__________________
Atentamente,

Pablo Ayala.
Si vas a responder algo en el foro que sea con amabilidad.

Última edición por Pablo Ayala; 08/07/2011 a las 23:24 Razón: correccion
  #5 (permalink)  
Antiguo 06/09/2011, 09:12
Avatar de skyz  
Fecha de Ingreso: abril-2010
Mensajes: 170
Antigüedad: 14 años
Puntos: 1
Exclamación Respuesta: Como contar una pagina visitada, solamente al apretar un enlace

Mil perdones por tardar en responder en la pregunta, pero probe con sesiones: en la primera pagina donde tengo el hipervinculo inicializo la sesion con un valor a 1, en la segunda pagina envio una variable por la barra de direcciones verificando que presione el enlace: mostrar?click=ok, luego en la pagina 2 con un if verifico esta variable, como tambien que la sesion este con el valor de 1, despues realiso el conteo dentro del if y tambien la sesion la destruyo, para que no pueda contar otra vez, al actualizar la pagina 2, pero hay un problema con este metodo. La sesion de la pagina uno solo vuelve a tener el valor de 1, si la pagina 1 se actualiza, pues no deberia ser asi, sino solo al presionar el hpervinculo de la pagina 1, es que la sesion no depende del hipervinculo sino de la pagina.

Una solucion para este problema.
  #6 (permalink)  
Antiguo 06/09/2011, 09:17
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Como contar una pagina visitada, solamente al apretar un enlace

Copia el código que utilizas. Así podremos tener una mejor idea
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #7 (permalink)  
Antiguo 06/09/2011, 20:38
Avatar de skyz  
Fecha de Ingreso: abril-2010
Mensajes: 170
Antigüedad: 14 años
Puntos: 1
Exclamación Respuesta: Como contar una pagina visitada, solamente al apretar un enlace

Bueno este es el codigo inicial:

Pagina 1:

Código PHP:
<a href="pagina2.php?accion=contar&id=<?php echo $r[0];?>">ver mas</a>
En el hipervinculo envio la variable accion y el id de la tupla a sumar.

Pagina 2:

Código PHP:
$accion=$_GET['accion'];
if(
$accion=="contar")
{
 
//recupero el valor de la db
  
$visitas=$visitas+1
//inserto el valor a la db

Ahora el problema es que cada vez que actualizo la pagina 2 cuenta, lo cual no deseo, solo al apretar el enlace, deseo que cuente, con variables de sesion no me funciona, porque si inicio una variable de sesion en la pagina 1, la puedo destruir en la pagina 2, ya no contaria mas, pero si se apreta el enlace de la pagina uno la sesion seguira destruida porque la sesion depende de la pagina y no del enlace, o habria que refresacar la pagina 1, para que la sesion se active de nuevo.

Última edición por skyz; 06/09/2011 a las 20:47
  #8 (permalink)  
Antiguo 07/09/2011, 14:17
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 8 meses
Puntos: 297
Respuesta: Como contar una pagina visitada, solamente al apretar un enlace

Pues debería de valerte las $_SESSION, pero lo que yo haría es en la página de destino crearla una vez que realizas el conteo, así cuando vuelvas a actualizar la página si existe esa sesión pues que no lo cuente.
  #9 (permalink)  
Antiguo 07/09/2011, 14:23
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: Como contar una pagina visitada, solamente al apretar un enlace

podrias probar que despues de almacenar el conteo en la db redirecciones a la misma pagina pero esta vez sin el parametro accion
Cita:
$accion=$_GET['accion'];
if($accion=="contar")
{
//recupero el valor de la db
$visitas=$visitas+1
//inserto el valor a la db
Header("Location:pagina2.php?id=<?php echo $r[0];?>"");
}
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #10 (permalink)  
Antiguo 07/09/2011, 14:26
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 8 meses
Puntos: 297
Respuesta: Como contar una pagina visitada, solamente al apretar un enlace

Debería de poder hacerlo con $_SESSION, simplemente una vez que haga el +1 cree una $_SESSION, y si existe la próxima vez que vaya a hacer +1, pues que no haga el conteo.
  #11 (permalink)  
Antiguo 07/09/2011, 20:04
Avatar de skyz  
Fecha de Ingreso: abril-2010
Mensajes: 170
Antigüedad: 14 años
Puntos: 1
Exclamación Respuesta: Como contar una pagina visitada, solamente al apretar un enlace

Gracias por las respuestas.

Me funciona la solucion de PIRRUMAN, pero la pagina 2, al ingresar se me refresca 1 vez mas.

La solucion hasdpk, creo que es asi, si no me equivoco:

Código PHP:
$accion=$_GET['accion']; 
if(
$accion=="contar" && $_SESSION["contador"]==null

 
//recupero el valor de la db 
  
$visitas=$visitas+1
  $_SESSION
["contador"]="activo";
//inserto el valor a la db 

Al refrescar la pagina 2 (la pagina 2 estaba pensandola abrir como un popup), ya no suma el contador, pero lo malo es que si cierra la pagina 2, la sesion sigue con el valor activo, y si apreto de nuevo el hipervinculo de la pagina 1, ya no me cuenta mas.
  #12 (permalink)  
Antiguo 08/09/2011, 02:57
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 8 meses
Puntos: 297
Respuesta: Como contar una pagina visitada, solamente al apretar un enlace

Claro, la sesión sigue viva, sólo se destruyen cuando cierras el Navegador o se lo dices tu mismo.

A mi me parece más cómodo que le pases un identificandor (ID) autogenerado en la dirección ($_GET) y compruebes después si ya ha hecho click ese ID, sino, pues que lo sume.

Cada vez que refresques la página 2 va estar la ID, si cierra la ventana y vuelvo a entrar, la ID se cambiará.
  #13 (permalink)  
Antiguo 08/09/2011, 08:56
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: Como contar una pagina visitada, solamente al apretar un enlace

Cita:
Iniciado por skyz Ver Mensaje
Gracias por las respuestas.

Me funciona la solucion de PIRRUMAN, pero la pagina 2, al ingresar se me refresca 1 vez mas.
podrias poner todo el codigo de la pagina 2?
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #14 (permalink)  
Antiguo 08/09/2011, 09:19
Avatar de skyz  
Fecha de Ingreso: abril-2010
Mensajes: 170
Antigüedad: 14 años
Puntos: 1
Exclamación Respuesta: Como contar una pagina visitada, solamente al apretar un enlace

Gracias por las respuestas.

Por eso decia que no me funcionaban las sesiones.
Cita:
Iniciado por hasdpk Ver Mensaje
Claro, la sesión sigue viva, sólo se destruyen cuando cierras el Navegador o se lo dices tu mismo.
Me podrias dar el codigo, no entiendo como poder hacerlo, gracias de nuevo.
Cita:
Iniciado por hasdpk Ver Mensaje
A mi me parece más cómodo que le pases un identificandor (ID) autogenerado en la dirección ($_GET) y compruebes después si ya ha hecho click ese ID, sino, pues que lo sume.

Cada vez que refresques la página 2 va estar la ID, si cierra la ventana y vuelvo a entrar, la ID se cambiará.
  #15 (permalink)  
Antiguo 08/09/2011, 10:40
Avatar de bocho0610  
Fecha de Ingreso: enero-2010
Ubicación: <? echo "Santiago, Chile"; ?>
Mensajes: 341
Antigüedad: 14 años, 4 meses
Puntos: 26
Respuesta: Como contar una pagina visitada, solamente al apretar un enlace

Cita:
Iniciado por skyz Ver Mensaje

Código PHP:
$accion $_GET['accion']; 
if(
$accion == "contar" && $_SESSION["$accion"] == null) { 
 
//recupero el valor de la db 
  
$visitas $visitas 1;
  
$_SESSION["$accion"] = "activo";
//inserto el valor a la db 

Creo que de esa manera las sessiones se harian mas "Dinamicas", tomarian el valor de accion y asi cada session seria distinta de la otra.
__________________
Sigueme en Twitter!
Septimoarte.cl <-- Un mundo en cine.
  #16 (permalink)  
Antiguo 08/09/2011, 14:05
Avatar de blakmetall  
Fecha de Ingreso: diciembre-2010
Ubicación: Jalisco
Mensajes: 181
Antigüedad: 13 años, 4 meses
Puntos: 18
Respuesta: Como contar una pagina visitada, solamente al apretar un enlace

podrias redireccionarte a la misma pagina del conteo una vez que el conteo ya haya sido realizado

asi cuando redirecciones no envias valores por _GET. y cuando se refresca ya no hay valores $_GET para realizar el conteo.
  #17 (permalink)  
Antiguo 08/09/2011, 14:09
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: Como contar una pagina visitada, solamente al apretar un enlace

Cita:

podrias probar que despues de almacenar el conteo en la db redirecciones a la misma pagina pero esta vez sin el parametro accion
Cita:
$accion=$_GET['accion'];
if($accion=="contar")
{
//recupero el valor de la db
$visitas=$visitas+1
//inserto el valor a la db
Header("Location:pagina2.php?id=<?php echo $r[0];?>"");///aqui ya no envias la variable accion solo la q necesites como la variable id
}
eso mismo es lo q le dije q hiciera y dice q no resulto
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #18 (permalink)  
Antiguo 08/09/2011, 19:46
Avatar de skyz  
Fecha de Ingreso: abril-2010
Mensajes: 170
Antigüedad: 14 años
Puntos: 1
Respuesta: Como contar una pagina visitada, solamente al apretar un enlace

No dije que no me funciono PIRRUMAN, pero se me refresca 1 vez mas la pagina 2, por el momento usara esa solucion.
  #19 (permalink)  
Antiguo 09/09/2011, 08:22
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: Como contar una pagina visitada, solamente al apretar un enlace

mira tu solucion es esta :

piensale un poquito y veras q te servira
solo adecualo atus necesidades cambia las variables y le quitas el header relocation...
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”

Etiquetas: enlace, solamente, variables
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 16:22.