02. juni 2019 - 14:34Der er
10 kommentarer og 2 løsninger
Session med seneste 10 valg
Jeg vil gerne lave et script, som udtrækker et tilfældigt tal mellem 0 og 100 ved genload af siden. der er den hage ved det, at de seneste 10 udtrukne tal ikke må være blandt.
Er der en smart måde at gøre det?
Jeg har forsøgt at gemme de seneste valg i en sessions variabel, men kan ikke få det til at virke..
a) Hav en tabel med de ti seneste tal (for nye kunder, brug fx 0,10,20,30 osv til 90 inkl) b) Når du skal vælge tilfældige tal, så lav en tabel (0 til 90) med tal fra 0 til 100 uden at bruge de de ti tal i tabellen fra før (loop fra 0 til 100, og tjek hver tal med ti-tabellen) c) du har nu en tabel med lovlige tal plads 0-90, som indeholder tal fra 0 til 100. d) Slet tabellen med 10 tal, og vælg 10 tilfældige tal fra 0-90 tabellen, og skriv dem i en nye 10-tabel. Din 10-tabel er nu de tal, som bruger har til næste visning af siden.
Det var vist ikke helt klart, men hver gang et nyt tal trækkes, bliver det gemt i min array og det "ældste" fjernes, så der altid er ti tal i array'en.
Skal dette også virke hvis den samme bruger senere logger ind fra en anden maskine eller med en anden browser? For hvis ja, så var det måske mere sikkert, som skrevet i #1 at lægge det i en Mysql-database. Men det forudsætter i givet fald så, at du har et loginsystem knyttet til siden.
Under alle omstændigheder: Når du først har fat i den gemte værdi, kan du bruge en kombination af funktionerne count, array_shift og array_push for at lave det med at der max skal være 10 gemte værdier.
Du har et par bøffer i koden, idet du for det første ikke bruger den rigtige $_SESSION-variabel, for det andet glemmer anførselstegn inden i de kantede parenteser, for det tredje forudsætter at $arr_brugte har mulighed for at være defineret, inden du tilbagefører $_SESSION på den.
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.