Foros del Web » Programando para Internet » PHP »

Aumentar en 1 el valor de una variable cada vez que cargue la página

Estas en el tema de Aumentar en 1 el valor de una variable cada vez que cargue la página en el foro de PHP en Foros del Web. Hola a tod@s!! Me encuentro en un "atolladero", resulta que para hacer funcionar un TPV Virtual, necesito que cada vez que se carga la página ...
  #1 (permalink)  
Antiguo 25/05/2006, 08:49
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Aumentar en 1 el valor de una variable cada vez que cargue la página

Hola a tod@s!!

Me encuentro en un "atolladero", resulta que para hacer funcionar un TPV Virtual, necesito que cada vez que se carga la página que envía al TPV se aumente el valor de una variable en 1, y el valor de dicha variable debe estar entre 1 y 9999.

He probado con while() y for() pero no hace lo que necesito, es decir, aumentar esa variable con cada recarga de la página. Aquí va lo que tengo:

Con while()

Código PHP:
$var 1;

while (
$var && $var <= 9999){

$var $var 1;



y con for() ...

Código PHP:
$var 1;

for (
$i=1$i<=9999$i++) {

$var $var $i;


¿Alguien me puede explicar como hacerlo?

Muchas gracias por anticipado...
  #2 (permalink)  
Antiguo 25/05/2006, 08:51
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Lo siento, lo he subido dos veces...

Lo siento, lo he subido dos veces...
  #3 (permalink)  
Antiguo 25/05/2006, 09:18
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

Esto se puede resolver con variables de session echale un ojo a este link http://www.php.net/manual/en/ref.session.php. Ahi viene un ejemplo.

Saludillos
  #4 (permalink)  
Antiguo 25/05/2006, 09:27
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Gracias mauled!!

El problema es que con las sesiones serviría para un sólo usuario (según lo entiendo yo...) pero yo lo que necesito es que cada vez que alguien (cualquier visitante, sea el mismo o distinto) acceda a la página, la variable aumente en 1, dentro de los valores que he posteado antes.

Con las sesiones no se si se puede y si se puede no se cómo hacerlo...

¿Alguna otra idea? Gracias por anticipado.
  #5 (permalink)  
Antiguo 25/05/2006, 09:38
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Hola de nuevo!!

Muchísimas gracias mauled, en principio parece que sí funciona con las sesiones..., por lo menos desde mi PC, debería probarlo desde otros, que será lo próximo que haré en cuanto vuelva.

Muchas gracias de nuevo.
  #6 (permalink)  
Antiguo 25/05/2006, 10:02
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Hola de nuevo por aquí...

Pues como imaginaba, con las sesiones no funciona correctamente. Pero se me acaba de ocurrir que es un simple contador de visitas diarias a la página en cuestión

Voy a intentar recordar como se hace y si no, vuelvo a la carga por aquí...
  #7 (permalink)  
Antiguo 25/05/2006, 10:16
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 22 años, 1 mes
Puntos: 0
Hola,
No se si utilizas base de datos. Si es que si, has pensado en la posibilidad de crearte una tablita con un campo contador de tipo numérico y cada vez que entran en la página se incrementa en 1?
No se si te servirá ...
  #8 (permalink)  
Antiguo 25/05/2006, 12:44
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Hola Albertron!!

No, en esta página no uso base de datos, pero ya lo he solucionado con un sencillo contador de visitas:
Código PHP:

// Archivo en donde se acumulará el numero de visitas

    
$archivo "numero.dat";

// Abrimos el archivo para solamente leerlo (r de read)

    
$abre fopen($archivo"r");

// Leemos el contenido del archivo

    
$total fread($abrefilesize($archivo));

// Cerramos la conexión al archivo

    
fclose($abre);

// Abrimos nuevamente el archivo

    
$abre fopen($archivo"w");

// Sumamos 1 nueva visita

    
$total $total 1;

// Y reemplazamos por la nueva cantidad de visitas 

    
$grabar fwrite($abre$total);

// Cerramos la conexión al archivo

    
fclose($abre); 
Ahora el problema que se me plantea es cómo reiniciar el contador a 1 cada 24 horas, o todos los días a las 00:00h del servidor o de donde sea, voy a revisar, pero agradecería que alguien me echara un cable...
  #9 (permalink)  
Antiguo 25/05/2006, 14:02
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Hola de nuevo...

No conozco la manera de borrar el contador cada 24 horas y por más que he estado buceando y buscando, no consigo encontrar la solución...

Aprovechando que está por aquí el maestro Cluster... (sin desmerecer a los demás, claro...)

¿Alguien me puede echar un cable...?

Muchas gracias...
  #10 (permalink)  
Antiguo 25/05/2006, 15:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Código PHP:
if( date"h" ) == "00" ) {
   
// borrar tu file

eso te debe de servir
  #11 (permalink)  
Antiguo 25/05/2006, 15:20
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Gracias GatorV!!

Te agradezco la aportación pero lo he solucionado de otra manera, el tema es que no se puede repetir el número dentro de las 24 horas, pero no dice que tenga que empezar de cero cada 24 horas (no había caído... )

Entonces con un simple:

Código PHP:
if ($total == 9999) {
$grabar fwrite($abre1);
} else { 
lo he solucionado, así no se repite ni se pasa del nº
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 08:17.