Avatar billede lassel Nybegynder
06. december 2005 - 21:45 Der er 3 kommentarer og
1 løsning

Cookie til sikring af random billede

Hey.

Jeg sidder med en forside hvor et billede skal vises random.

Det fungerer fint ved:

          $numberofbg = "3";
            $bgnr = rand(1, $numberofbg);

Og:

                  billedenavn$bgnr.jpg

Men jeg gerne vil gerne, at første gang brugeren kommer ind på siden vælges billedet tilfældigt ud af puljen 1 til x, hvis det bliver 2 første gang, så skal næste gang være 1, 3 til x. Dvs., det billede der vises skal trækkes fra når det er vist så resten bliver vist i tilfældig rækkefølge. Og endnu værre, når alle billeder fra 1 til x er vist til den bestemte bruger, så skal næste gang være random 1 til x osv. i samme fidus.

Jeg er ikke så stiv i cookiesjov, men tror godt det kunne bruges.

if(!isset($_COOKIE['mfbg$bgnr'])) setcookie("votehow", "yes", time()+60*60*24*30);

Evt. noget i ovenstående stil, men tror det bliver nødt til at være en whileløkke på en-eller-anden-tricky måde, men er kørt helt kold. Er der nogen der har lavet noget ligende på et tidspunkt, eller har en fiks fidus?
Avatar billede lassel Nybegynder
07. december 2005 - 23:19 #1
Så sætter jeg point op da. :D
Avatar billede polle007 Nybegynder
08. december 2005 - 00:01 #2
Prøv at leg lidt med denne
Gemmer udtrukne numre i en streng, med mellemrum som separatortegn

<?php
$numberofbg = 10;

$mfbg = isset($_COOKIE['mfbg']) && is_string($_COOKIE['mfbg']) ? $_COOKIE['mfbg'] : "";
$numbers = $mfbg == "" ? array() : explode(" ", $mfbg);

if($numberofbg == count($numbers)){
    // alle numre har været ude, genstart
    $numbers = array();
}

do{
    $bgnr = rand(1, $numberofbg);
}while(in_array($bgnr, $numbers));

$numbers[] = $bgnr;
$mfbg = implode(" ", $numbers);

setcookie("mfbg", $mfbg, time()+60*60*24*30);


//
$file = "billedenavn$bgnr";
?>
Avatar billede lassel Nybegynder
13. maj 2006 - 15:10 #3
Hmmm, ved ikke hvorfor jeg ikke fik en email om denne kommentar, men tjek, også noget i den stil jeg endte med at benytte, hvis du stadig er her, så læg en svar, så får du de 30 point ;)
Avatar billede lassel Nybegynder
27. marts 2009 - 09:47 #4
Kom aldrig et svar, jeg lukker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester