Avatar billede siredward Nybegynder
24. maj 2004 - 16:13 Der er 6 kommentarer og
1 løsning

Oprettelse af en tilfældig variabel

Hej, jeg kunne godt tænke mig at få PHP til at oprette en variabel med en tilfældig værdi.

Jeg skal bruge det som del af et såkaldt dobbelt Opt-In system til min hjemmeside.

Det den skal gøre er bare at tage en char variabel og generere en tilfældig kode på 15 bogstaver og tal.


Håber at der er nogen der har en løsning, da jeg stadig er ret grøn i det her.

Mvh: Lauge S Jepsen
Avatar billede sukos Juniormester
24. maj 2004 - 16:51 #1
Prøv at kikke på kommentarer her:
http://dk.php.net/manual/en/function.rand.php
Avatar billede olebole Juniormester
24. maj 2004 - 16:59 #2
<ole>

function getUniq($len=15) {
    $chars = "0123456789ABCDEFGHIJKLMNO0123456789PQRSTUVWXYZ0123456789";
    $s = "";
    while ( strlen($s)<$len ) {
        $s .= $chars[ floor(mt_rand( 0,strlen($chars))) ];
    }
    return $s;
}
print getUniq();

/mvh
</bole>
Avatar billede olebole Juniormester
24. maj 2004 - 17:00 #3
... ønsker du et andet antal tegn, kalder du blot med antallet som argument:
  print getUniq(10);
Avatar billede dennismp Nybegynder
24. maj 2004 - 21:09 #4
print md5(uniqid(rand(), true));
Avatar billede olebole Juniormester
24. maj 2004 - 22:25 #5
dennismp >> en lille detalje er, at mt_rand() er temmelig meget mere tilfældig end rand(). På den anden side, kan det vist være ligegyldigt med den helgardering, du har kørende der  ;D
Avatar billede dennismp Nybegynder
24. maj 2004 - 22:30 #6
Hvis du kan forudsige næste id på baggrund af det, så tror jeg du har en fremtid inden for matematik :-).

Jeg ved godt at mt_rand er bedre tilfældig, men mit eksempel er tyvståjet fra php dokumentationen. Der skriver de, efter eksemplet:
"This will create a 32 character identifier (a 128 bit hex number) that is extremely difficult to predict."

Det burde vist være tilfældigt nok :-)
Avatar billede siredward Nybegynder
25. maj 2004 - 01:03 #7
Jeg valgte at bruge dennismp's svar, men tak for dem begge :)

Mvh: Lauge S Jepsen
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

IT-JOB