Foros del Web » Programando para Internet » PHP »

descarga un archivo y actualiza el numero de descargas

Estas en el tema de descarga un archivo y actualiza el numero de descargas en el foro de PHP en Foros del Web. Hola a todos, tengo un script para descargar un archivo de mi servidor. Eso funciona perfectamente. El problema está en que además de descargar el ...
  #1 (permalink)  
Antiguo 21/05/2004, 04:17
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 206
Antigüedad: 20 años, 1 mes
Puntos: 0
descarga un archivo y actualiza el numero de descargas

Hola a todos,
tengo un script para descargar un archivo de mi servidor. Eso funciona perfectamente. El problema está en que además de descargar el archivo, se actualiza en la base de datos el numero de veces que se ha descargado ese archivo (una más), pero no me lo actualiza en una... sino en tres.
Sabe alguien por qué ocurre eso?
Este es el código que tengo:

en una pagina tengo este enlace:
Código PHP:
<a href="descargar.php?art=<? echo $_GET['art']; ?>>descargar</a>
y en descargar.php:
Código PHP:
include("conectaBD.php");
$consul "select numDescargas,nombreFich,url from contenidos where idContenido=".$_GET['art'];
include(
"consultaBD.php");
$reg mysql_fetch_array($resul);

header ("Content-Disposition: attachment; filename=".$reg['nombreFich']."" ); 
header ("Content-Type: application/force-download");
readfile($reg['url']);
    
// se actualiza el numero de descargas del archivo...
$consul "update contenidos set numDescargas=".($reg['numDescargas']+1)." where idContenido=".$_GET['art'];
include(
"actualizaBD.php");
    
exit; 

Gracias. Un saludo
  #2 (permalink)  
Antiguo 21/05/2004, 07:48
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 206
Antigüedad: 20 años, 1 mes
Puntos: 0
de veras que nadie sabe por que puede ser??
  #3 (permalink)  
Antiguo 21/05/2004, 07:55
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Aguanta ...

No te desesperes a lo mejor la gente está buscando soluciones a tu problema. Aparentemente no se ve el porque ha de actualizar 3 veces, pero dejame probar el código en mi PC a ver que pasa.

Salu2
__________________
Ing. Reynier Pérez Mira
  #4 (permalink)  
Antiguo 21/05/2004, 08:37
 
Fecha de Ingreso: mayo-2004
Mensajes: 4
Antigüedad: 19 años, 11 meses
Puntos: 0
mmmmm

Supongo que habría que saber que haces en consultaBD.php por que en $reg lo que guardas es el mysql_fetch_array de $resul y no de $consul.

Cita:
$consul = "select numDescargas,nombreFich,url from contenidos where idContenido=".$_GET['art'];
include("consultaBD.php");
$reg = mysql_fetch_array($resul);

Lo que quiero decir, es que según esto, la select la haces sobre $consul y lo que le pasas a mysql_fetch_array es $resul


nose

saludos
  #5 (permalink)  
Antiguo 21/05/2004, 08:39
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 206
Antigüedad: 20 años, 1 mes
Puntos: 0
en consultaBD.php, exactamente esto (ni mas ni menos):

Código PHP:
<?    
    $resul 
mysql_query($consul);
    if (!
$resul)
    {
        echo 
"ERROR: al consultar la base de datos";
        exit();
    }
?>
  #6 (permalink)  
Antiguo 21/05/2004, 09:00
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 206
Antigüedad: 20 años, 1 mes
Puntos: 0
Cita:
Aparentemente no se ve el porque ha de actualizar 3 veces, pero dejame probar el código en mi PC a ver que pasa
El contador de descargas me va ahora de 5 en 5... expediente X?
  #7 (permalink)  
Antiguo 21/05/2004, 09:28
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Lo mejor para aumentar en uno un campo es usar

UPDATE tabla SET campo=campo+1

Y sobre el numero de veces que cuenta, ¿usas algun gestor de descarga? Es que hay algunos que para acelerar la descarga solicitan varias veces el fichero en paralelo. Y lo que hace el script es contar las peticiones de descargas.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 21/05/2004, 09:42
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 206
Antigüedad: 20 años, 1 mes
Puntos: 0
Lo del gestor de descarga es una posibilidad que toma mucho peso, josemi uso uno.

Pero entonces, cómo podría hacer para contabilizar el número de descargas reales, no el número de peticiones? Teneis alguna idea?

Saludos
  #9 (permalink)  
Antiguo 24/05/2004, 01:18
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 206
Antigüedad: 20 años, 1 mes
Puntos: 0
ya he conseguido que me funcione, y que me actualice el numero de descargas de uno en uno:

descargas.php
Código PHP:
<a href="descargar.php?art=<? echo $_GET['art']; ?>>descargar</a>
descargar.php
Código PHP:
include("conectaBD.php");
$consul "select numDescargas from contenidos where idContenido=".$_GET['art'];
include(
"consultaBD.php");
$reg mysql_fetch_array($resul);
// se actualiza el numero de descargas del archivo...
$num $reg['numDescargas'] + 1
$consul "update contenidos set numDescargas=".$num." where idContenido=".$_GET['art'];
include(
"actualizaBD.php");
header("Location:bajar.php?art=".$_GET['art'].""); 
bajar.php
Código PHP:
include("conectaBD.php");
$consul "select nombreFich,url from contenidos where idContenido=".$_GET['art'];
include(
"consultaBD.php");
$reg mysql_fetch_array($resul);

header("Content-Disposition: attachment; filename=".$reg['nombreFich'].""); 
header("Content-Type: application/force-download");
readfile($reg['url']);
    
exit; 

Saludos.
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 23:13.