En éstas líneas
estás reseteando la sesión a un proveedor aleatorio *siempre*.
Por ello, a veces, se repetirá al cambiar de página. Si en su lugar usas algo similar a ésto:
Código PHP:
Ver originalif(!$_SESSION["proveedor"]){
$_SESSION["proveedor"]=$proveedor;
}
no deberías tener ese problema porque el orden de proveedores siguiente no va a coincidir con el anterior - continuará desde él.
Y para solucionar el problema de repetir, aquí veo lo que puede ser la causa:
Código PHP:
Ver originalif ($_SESSION["proveedor"]==1){
return 'Publicidad 3 arriba';
}elseif ($_SESSION["proveedor"]==2){
return 'Publicidad 2 arriba';
}elseif ($_SESSION["proveedor"]==3){
return 'Publicidad 3 arriba';
}
En el proveedor 1, estarías usando publicidad del proveedor 3.