Como modifico este rotador de banners de forma que no sea random?

  • Autor Autor Darwin Fernandez
  • Fecha de inicio Fecha de inicio
D

Darwin Fernandez

Hola amigos de ForoBeta he estado probando y no lo he logrado alguien que sepa como se puede modificar este código, por defecto esta random pero quisiera ver si se puede modificar para que sea en orden osea primero que aparezca el 1, después 2 , después el 3 luego de nuevo 1 , 2 , 3 y así sucesivamente, muchas gracias de antemano 🙂

<?php
$numerodebanners = 3; // Numero de banners
$random = rand(1,$numerodebanners);

$Publicidades = array();

$Publicidades[1] = <<<EOT
// Aquí tu código 1
EOT;
$Publicidades[2] = <<<EOT
// Aquí tu código 2
EOT;
$Publicidades[3] = <<<EOT
// Aquí tu código 3
EOT;
echo $Publicidades[$random];
?>
 
Tiene que ser con cookies, algo así

PHP:
<?php
$banners = array(
'banner1.png',
'banner2.png',
'banner3.png'
);

if(isset(!$_COOKIE['banner'])){
setcookie('banner', 1, time() + 3600 * 24 * 7, '/');
echo $banners[0];
}elseif($_COOKIE['banner'] == 1){
setcookie('banner', 2, time() + 3600 * 24 * 7, '/');
echo $banners[1];
}elseif($_COOKIE['banner'] == 2){
setcookie('banner', 3, time() + 3600 * 24 * 7, '/');
echo $banners[2];
}elseif($_COOKIE['banner'] == 3){
//Reiniciar ciclo
setcookie("banner", "", time() - 3600, '/');
echo $banners[0];
}

Seria algo asi, tienes que probar el código, es solo un ejemplo
 
Tiene que ser con cookies, algo así

PHP:
<?php
$banners = array(
'banner1.png',
'banner2.png',
'banner3.png'
);

if(isset(!$_COOKIE['banner'])){
setcookie('banner', 1, time() + 3600 * 24 * 7, '/');
echo $banners[0];
}elseif($_COOKIE['banner'] == 1){
setcookie('banner', 2, time() + 3600 * 24 * 7, '/');
echo $banners[1];
}elseif($_COOKIE['banner'] == 2){
setcookie('banner', 3, time() + 3600 * 24 * 7, '/');
echo $banners[2];
}elseif($_COOKIE['banner'] == 3){
//Reiniciar ciclo
setcookie("banner", "", time() - 3600, '/');
echo $banners[0];
}

Seria algo asi, tienes que probar el código, es solo un ejemplo

Ese código admite javascript en los banners? o solo imágenes ? se podría hacer para que admita código js de popups por que el que muestro si admite todo tipo imagenes y js.
 
Tiene que ser con cookies, algo así

PHP:
<?php
$banners = array(
'banner1.png',
'banner2.png',
'banner3.png'
);

if(isset(!$_COOKIE['banner'])){
setcookie('banner', 1, time() + 3600 * 24 * 7, '/');
echo $banners[0];
}elseif($_COOKIE['banner'] == 1){
setcookie('banner', 2, time() + 3600 * 24 * 7, '/');
echo $banners[1];
}elseif($_COOKIE['banner'] == 2){
setcookie('banner', 3, time() + 3600 * 24 * 7, '/');
echo $banners[2];
}elseif($_COOKIE['banner'] == 3){
//Reiniciar ciclo
setcookie("banner", "", time() - 3600, '/');
echo $banners[0];
}

Seria algo asi, tienes que probar el código, es solo un ejemplo

Tiene un error de
Fatal error: Cannot use isset() on the result of an expression (you can use "null !== expression" instead)
 
Ese código admite javascript en los banners? o solo imágenes ? se podría hacer para que admita código js de popups por que el que muestro si admite todo tipo imagenes y js.

Claro, como te mencione solo es un ejemplo, lo puedes editar a tu gusto, si te fijas en el código es super simple
PHP:
setcookie('banner', 1, time() + 3600 * 24 * 7, '/'); # Declara una nueva cookie con el nuevo banner
echo $banners[0]; # Imprimir el banner

Si quieres agregar código javascript solo agrégalo con un echo en cada if

PHP:
echo "<script>alert('Codigo Javascript');</script>";

- - - Actualizado - - -

Ese código admite javascript en los banners? o solo imágenes ? se podría hacer para que admita código js de popups por que el que muestro si admite todo tipo imagenes y js.

Tiene un error de
Fatal error: Cannot use isset() on the result of an expression (you can use "null !== expression" instead)

Acabo de probar este código, funciona a la perfección

PHP:
<?php
if(!$_COOKIE['banner']){
	setcookie('banner', 1, time() + 3600 * 24 * 7, '/');
	echo "<script>alert('Banner 1');</script>";  
}elseif($_COOKIE['banner'] == 1){
	setcookie('banner', 2, time() + 3600 * 24 * 7, '/');
	echo "<script>alert('Banner 2');</script>";  
}elseif($_COOKIE['banner'] == 2){
	setcookie('banner', 3, time() + 3600 * 24 * 7, '/');
	echo "<script>alert('Banner 3');</script>";  
}else{
	//Reiniciar ciclo
	setcookie("banner", "", time() - 3600, '/');
	echo "<script>alert('Banner que quieras, aqui se reinicia el cookie');</script>";  
}
 
Última edición:
Claro, como te mencione solo es un ejemplo, lo puedes editar a tu gusto, si te fijas en el código es super simple
PHP:
setcookie('banner', 1, time() + 3600 * 24 * 7, '/'); # Declara una nueva cookie con el nuevo banner
echo $banners[0]; # Imprimir el banner

Si quieres agregar código javascript solo agrégalo con un echo en cada if

PHP:
echo "<script>alert('Codigo Javascript');</script>";

- - - Actualizado - - -





Acabo de probar este código, funciona a la perfección

PHP:
<?php
if(!$_COOKIE['banner']){
    setcookie('banner', 1, time() + 3600 * 24 * 7, '/');
    echo "<script>alert('Banner 1');</script>";  
}elseif($_COOKIE['banner'] == 1){
    setcookie('banner', 2, time() + 3600 * 24 * 7, '/');
    echo "<script>alert('Banner 2');</script>";  
}elseif($_COOKIE['banner'] == 2){
    setcookie('banner', 3, time() + 3600 * 24 * 7, '/');
    echo "<script>alert('Banner 3');</script>";  
}else{
    //Reiniciar ciclo
    setcookie("banner", "", time() - 3600, '/');
    echo "<script>alert('Banner que quieras, aqui se reinicia el cookie');</script>";  
}

El anteriorme me marca error. Una duda en el baner 1 me muestra este error?

Notice: Undefined index: banner on line 2
 
El anteriorme me marca error. Una duda en el baner 1 me muestra este error?

Notice: Undefined index: banner on line 2

Prueba con el este código, anteriormente tiraba error por que coloque mal el isset jaja

PHP:
<?php
if(!isset($_COOKIE['banner'])){
    setcookie('banner', 1, time() + 3600 * 24 * 7, '/');
    echo "<script>alert('Banner 1');</script>";  
}elseif($_COOKIE['banner'] == 1){
    setcookie('banner', 2, time() + 3600 * 24 * 7, '/');
    echo "<script>alert('Banner 2');</script>";  
}else{
    //Reiniciar ciclo
    setcookie("banner", "", time() - 3600, '/');
    echo "<script>alert('Banner 3');</script>";  
}
 
Prueba con el este código, anteriormente tiraba error por que coloque mal el isset jaja

PHP:
<?php
if(!isset($_COOKIE['banner'])){
    setcookie('banner', 1, time() + 3600 * 24 * 7, '/');
    echo "<script>alert('Banner 1');</script>";  
}elseif($_COOKIE['banner'] == 1){
    setcookie('banner', 2, time() + 3600 * 24 * 7, '/');
    echo "<script>alert('Banner 2');</script>";  
}else{
    //Reiniciar ciclo
    setcookie("banner", "", time() - 3600, '/');
    echo "<script>alert('Banner 3');</script>";  
}

Así como esa funciona pero cuando agrego los script me bota error 500, son scripts de ventanas emergentes
 
Así como esa funciona pero cuando agrego los script me bota error 500

Seguro estas colocando js con comillas dobles, mándame los códigos js por MP y te mando como tendrías que tener el código
 
Prueba con el este código, anteriormente tiraba error por que coloque mal el isset jaja

PHP:
<?php
if(!isset($_COOKIE['banner'])){
    setcookie('banner', 1, time() + 3600 * 24 * 7, '/');
    echo "<script>alert('Banner 1');</script>";  
}elseif($_COOKIE['banner'] == 1){
    setcookie('banner', 2, time() + 3600 * 24 * 7, '/');
    echo "<script>alert('Banner 2');</script>";  
}else{
    //Reiniciar ciclo
    setcookie("banner", "", time() - 3600, '/');
    echo "<script>alert('Banner 3');</script>";  
}

Muchas gracias por el codigo Jorge :encouragement:
 
El anteriorme me marca error. Una duda en el baner 1 me muestra este error?

Notice: Undefined index: banner on line 2
[MENTION=27331]NetReyes[/MENTION] te respondi tu mensaje MP, y aun no respondes... paso algo?
 
Última edición:

Temas similares

Atrás
Arriba