Como saber si un documento pdf ya ha sido abierto anteriormente

markosar200294

New Member
Messages
56
Reaction score
0
Points
0
Estoy haciendo una página web en la que tengo diferentes enlaces a documentos pdf. Cuando el usuario habrá uno en cuestión debo de enviar una señal (variable) a una tabla SQL. Solamente quiero saber cómo puedo hacer para detectar la pulsación de un enlace. No me interesa que ese dato se lleve dentro del enlace, creo que asi no funciona, ya que el destino es un pdf no una página web. Gracias.
 

medina

x10 Addict
Community Support
Messages
1,811
Reaction score
7
Points
38
Que es lo que quieres?

Que sea en tiempo real estilo facebook... osea que estes en el panel de adminsitracion y te avise q alguien abrio el documento?

O solamente saber si lo abrieron?.. por que si es asi... tan facil q es poner un contador...de veces q lo han abierto... solo un contador al enlaze... o deacarga..
 

markosar200294

New Member
Messages
56
Reaction score
0
Points
0
esto....

O solamente saber si lo abrieron?.. por que si es asi... tan facil q es poner un contador...de veces q lo han abierto... solo un contador al enlaze... o deacarga..


Te explico un poco mas. Tengo varias lineas, cada linea se corresponde con un documento pdf. Entonces cuando cierto usuario quiere abrir dicho pdf lo unico que tiene que hacer es pulsar sobre el nombre. Por otro lado cuando ese usuario "pulse" en el documento yo quiero saberlo, pero no de forma simultanea sino solo necesito saber que el documento ha sido accedido y nada mas. Esa "señal" voy a almacenarla en una BBDD.
Eso es un poco lo que quiero, a ver si me puedes ayudar, estoy un poco atascado.
 

gomarc

Member
Messages
516
Reaction score
18
Points
18
Hola markosar200294,

Si lo que necesitas saber es si un link fue visitado y cuántas veces, una forma más o menos fácil de hacerlo sería modificando el link original, para que antes de visitar la dirección, mande al usuario a un código php primero para que registre el link y lo marque como visitado.

Por ejemplo:

Code:
<a href="http://mysite.com/doc1.pdf">Documeto 1 PDF</a>

Debería modificarse a algo así:

Code:
<a href="link_counter.php?url=http://mysite.com/doc1.pdf">Documeto 1 PDF </a>

Donde link_counter.php registra el clic del usuario y lo redirecciona al documento PDF luego.

Si esto es lo que estás buscando, tienes la suerte que algo así ya fue escrito y está disponible gratis por Benjamin Keen.

Este es el link: http://www.benjaminkeen.com/software/link_counter/

Y el código está disponible para bajar en
b6bvc2.jpg


Sin embargo, sospecho que en realidad necesitas guardar más información. Se me ocurre que para que te sea útil deberías guardar algo como:

- Documento nombre o ID del PDF
- ID del usuario (si esta registrado)
- Fecha y hora
- IP del usuario​

...que puede lograrse modificando el código php propuesto.

Otro punto que me gustaría sugerir, es no dejar los PDF disponibles a cualquiera en la web.

Sobre la base del ejemplo, cualquier usuario medianamente versado podría fijarse cuál es el link y tipiarlo directamente en su browser y pasar por completo la parte del registro del php. Es decir, si escribe http: //mysite.com/doc1.pdf en el address bar del browser, accede al documento y no queda registrado.

Para evitar este problema, podrías armar los links con la información

- userid = xxx
- doc = xxx

... para que el código php busque el doc xxx en una tabla donde se encuentra el link secreto a un directorio oculto fuera del acceso directo del público.

El formato sería algo así:

Code:
<a href="link_counter.php?userid=xxx&doc=xxx">Documeto 1 PDF </a>

Entonces, el php toma esa información mediante $_GET y procesa las variables userid y doc. (Más información sobre $_GET http://php.net/manual/es/reserved.variables.get.php)
 
Top