Autor Zpráva
Ayrton1
Profil
Ahoj, dělám web k jednomu seriálu. V logu jsem chtěl mít nějaký typický obrázek, název seriálu a postavy. Jenže postav je tam víc než dost a zabíraly by 3/4 loga a to není moc hezké. Rozhodl jsem se, že udělám log několik a v každém bude jedna postava. Vím, že pomocí PHP lze náhodně vybírat, že při každém načtení stránky, se zobrazí jiné logo. Zde jsem ale narazil na problém:

1) Jak to udělat ? Prosím potřeboval bych ten skript
2) Není nutností, ale dalo by se pomocí Cookies zařídit, aby uživatel neviděl stále 2 loga za sebou, ale aby si skript vyhledal, která loga ještě neviděl ? A po zobrazení všech log, už je to jedno, dál náhodně vybírat.

Díky, snad mi rozumíte :-D
dufeja
Profil
to první je celkem snadné, stačí udělat něco takového:

<?
$pole=array("logo1.png","logo2.png","obrazek.png");//tady můžeš mít libovolnej počet cest k obrázkům
$nahodne_cislo=rand(0,count($pole)-1);//vybrání náhodného čísla - v tomto případě 0-2
$obrazek=$pole[$nahodne_cislo];

echo "<img src='$obrazek' alt='obrazek' />"; //zobrazení obrázku
?>
king26
Profil
$moznosti=array("obr1.jpg","obr2.jpg","obr3.jpg","obr4.jpg");
$nahoda=rand(0, count($moznosti)-1);
$generate=$moznosti[$nahoda];


EDIT: pozdě :-)
dufeja
Profil
a to druhé:

<?
function newCookies($Pole){
     for($i=0;$i<count($Pole);$i++){
           SetCookie ($Pole[$i], false);
     }
}
$pole=array("logo1.png","logo2.png","obrazek.png");//tady můžeš mít libovolnej počet cest k obrázkům
if(!isset($_COOKIE[$pole[0]])){newCookies($pole);}
$jesteZbyva=false;
for($i=0;$i<count($pole);$i++){
           if($_COOKIE[$pole[$i]]==false){$jesteZbyva=true;break;}
   }
if(!jesteZbyva){newCookie($pole);}

do{
$nahodne_cislo=rand(0,count($pole)-1);//vybrání náhodného čísla - v tomto případě 0-2
$obrazek=$pole[$nahodne_cislo];
}
while($_COOKIE[$obrazek]);

echo "<img src='$obrazek' alt='obrazek' />"; //zobrazení obrázku
?>


Určitě by to šlo i jednodušeji a ani nevim jestli to funguje, ale můžeš to zkusit.
Ayrton1
Profil
díky, jdu dodělat ty loga a teprv pak to zkusim, takže mi dejte den, dva.

Ještě dotaz:
<div id="logo"><img src="logo/logo1.jpg" alt="Logo">
</div>


Tak to co píše dufeja mám přidat před to DIV a to div vložit do echo "sem" ?
dufeja
Profil
Takhle:

<div id="logo">

<?
ten PHP kód
?>

</div>
Ayrton1
Profil
Takže výsledek když budu mít 5 obrázků:

<div id="logo"> 

<?
function newCookies($Pole){
     for($i=0;$i<count($Pole);$i++){
           SetCookie ($Pole[$i], false);
     }
}
$pole=array("logo1.jpg","logo2.jpg","logo3.jpg","logo4.jpg","logo5.jpg ");
if(!isset($_COOKIE[$pole[0]])){newCookies($pole);}
$jesteZbyva=false;
for($i=0;$i<count($pole);$i++){
           if($_COOKIE[$pole[$i]]==false){$jesteZbyva=true;break;}
   }
if(!jesteZbyva){newCookie($pole);}

do{
$nahodne_cislo=rand(0,count($pole)-1);
$obrazek=$pole[$nahodne_cislo];
}
while($_COOKIE[$obrazek]);

echo "<img src='$obrazek' alt='obrazek' />"; //zobrazení obrázku
?>

</div>


Mám to správně ? Doufám, že jo, snad jsem nic neumazal co by tam mělo být...
dufeja
Profil
Mělo by to tak bejt, zkus to, snad to bude fungovat.
Ty obrázky ale ani nemusíš mít takhle očíslovaný, můžou se jmenovat libovolně.
Majkl578
Profil
array_rand?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0