Foros del Web » Programando para Internet » PHP »

Cómo hacer que un frame aparezca 1 de cada 10 veces?

Estas en el tema de Cómo hacer que un frame aparezca 1 de cada 10 veces? en el foro de PHP en Foros del Web. Tengo un frame incrustado en una página php y me gustaría saber si hay forma de que salga aleatoriamente el 10% de las veces. He ...
  #1 (permalink)  
Antiguo 03/06/2008, 16:13
Avatar de ldp
ldp
 
Fecha de Ingreso: marzo-2005
Ubicación: Por fin, en mi nueva casa!
Mensajes: 617
Antigüedad: 19 años, 2 meses
Puntos: 3
Cómo hacer que un frame aparezca 1 de cada 10 veces?

Tengo un frame incrustado en una página php y me gustaría saber si hay forma de que salga aleatoriamente el 10% de las veces. He visto algo como esto:

Código PHP:
<?php
//Crear una array con las distintas imagenes
$imagenes[0]='/imagenes/Cabecera1.gif';
$imagenes[1]='/imagenes/Cabecera2.gif';
$imagenes[2]='/imagenes/Cabecera3.gif';
$imagenes[3]='/imagenes/Cabecera4.gif';
$imagenes[4]='/imagenes/Cabecera5.gif';
$imagenes[5]='/imagenes/Cabecera6.gif';
 
 
// Elegimos un valor entre 0 y 5
$i=rand(0,5); 
 
// Mostramos la imagen
 
print '<img src="'.$imagenes[$i].'">';
?>
Y la verdad es que me iría muy bien poder cambiar los frames, pero quiero que además de cambiar entre ellos, salgan sólo una de cada 10 veces que se carga la página.
  #2 (permalink)  
Antiguo 03/06/2008, 16:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: Cómo hacer que un frame aparezca 1 de cada 10 veces?

tendrias que almacenar alguna variable de sesion...

luego, cada ves comprobar en que nivel va... aumentar al valor como contador y bingo!!

cuando llegues al 10 ... haces lo que desees, luego reseteas el contador y aqui vamos de nuevo.... :P
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 04/06/2008, 05:26
Avatar de ldp
ldp
 
Fecha de Ingreso: marzo-2005
Ubicación: Por fin, en mi nueva casa!
Mensajes: 617
Antigüedad: 19 años, 2 meses
Puntos: 3
Respuesta: Cómo hacer que un frame aparezca 1 de cada 10 veces?

Imagina que quiero que salga 1 de cada 5 veces, si pongo esto funcionará?

Código PHP:
<?php
//Crear una array con las distintas imagenes
$imagenes[0]='/imagenes/Cabecera1.gif';
$imagenes[1]='';
$imagenes[2]='';
$imagenes[3]='';
$imagenes[4]='';
$imagenes[5]='';
 
 
// Elegimos un valor entre 0 y 5
$i=rand(0,5); 
 
// Mostramos la imagen
 
print '<img src="'.$imagenes[$i].'">';
?>
  #4 (permalink)  
Antiguo 04/06/2008, 05:37
 
Fecha de Ingreso: octubre-2005
Mensajes: 132
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: Cómo hacer que un frame aparezca 1 de cada 10 veces?

Cita:
Iniciado por ldp Ver Mensaje
Imagina que quiero que salga 1 de cada 5 veces, si pongo esto funcionará?

Código PHP:
<?php
//Crear una array con las distintas imagenes
$imagenes[0]='/imagenes/Cabecera1.gif';
$imagenes[1]='';
$imagenes[2]='';
$imagenes[3]='';
$imagenes[4]='';
$imagenes[5]='';
 
 
// Elegimos un valor entre 0 y 5
$i=rand(0,5); 
 
// Mostramos la imagen
 
print '<img src="'.$imagenes[$i].'">';
?>


Eso es un random no lo controlas, no saldra justo cada 10 veces si no cada vez que salga el numero que buscas.

Yo pondria algo asi :

Código:
if ($_SESSION['contador'] == "") 
$_SESSION['contador'] =1 ;

$_SESSION['contador'] = $_SESSION['contador'] + 1;

if ($_SESSION['contador'] == 10) {

// muestre el frame

// reiniciamos el contador
$_SESSION['contador'] = 1;

}
  #5 (permalink)  
Antiguo 04/06/2008, 05:56
Avatar de ldp
ldp
 
Fecha de Ingreso: marzo-2005
Ubicación: Por fin, en mi nueva casa!
Mensajes: 617
Antigüedad: 19 años, 2 meses
Puntos: 3
Respuesta: Cómo hacer que un frame aparezca 1 de cada 10 veces?

No sé por qué, pero no me funciona.

Sobre lo de antes, tenías razón, el ramdon sale cuando quiere XD

EDITO: no tengo muchos conocimientos de php, pero creo que $_SESSION cuenta cada visitante distinto, no? Yo quiero que en 1 de cada 5 páginas que ve EL MISMO visitante le salga el frame.
  #6 (permalink)  
Antiguo 04/06/2008, 05:59
 
Fecha de Ingreso: octubre-2005
Mensajes: 132
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: Cómo hacer que un frame aparezca 1 de cada 10 veces?

Cita:
Iniciado por ldp Ver Mensaje
No sé por qué, pero no me funciona.

Sobre lo de antes, tenías razón, el ramdon sale cuando quiere XD

Pues no se es bastante tonto, mira esto :

Código PHP:

session_start
();
if (
$_SESSION['contador'] == ""
$_SESSION['contador'] =;

$_SESSION['contador'] = $_SESSION['contador'] + 1;

if (
$_SESSION['contador'] == 10) {

  
// muestre el frame
  
echo "Aparece ahora";
  
// reiniciamos el contador
  
$_SESSION['contador'] = 1;


  #7 (permalink)  
Antiguo 04/06/2008, 09:09
Avatar de ldp
ldp
 
Fecha de Ingreso: marzo-2005
Ubicación: Por fin, en mi nueva casa!
Mensajes: 617
Antigüedad: 19 años, 2 meses
Puntos: 3
Respuesta: Cómo hacer que un frame aparezca 1 de cada 10 veces?

Así sí va genial!

Me gustaría saber si se aplica a cada persona aunque no esté registrada o va contando globalmente las páginas que ven todos? O sea, si cada visitante cuenta de 1 a 5?

Y una pregunta un poco fuera del argumento, este código lo voy a usar en una web hecha con e107, crees que el session_start(); puede crear conflicto con la creación de sesiones del e107?
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 21:00.