webForumDet fria alternativet

Randomproblem

6 svar · 206 visningar · startad av Marcus

MarcusMedlem sedan juli 2000470 inlägg
#1

Någon som vet hur jag kan få till ett 10 - 12 siffrigt stort tal?
Jag använder rand(); men får det inte att fungera. Det är ju ett maxtak på hur stort tal man kan använda. Man ska väl kunna komma runt detta på något sätt?

MarcusMedlem sedan juli 2000470 inlägg
#2

Jag skulle verkligen behöva hjälp med detta, jag får liksom inte till det som jag vill. Nu har dock frågeställningen ändrat sig lite.

Jag håller på med ett aktiveringskods-script och kom på en ganska viktig punkt.

Jag har byggt upp det såhär:

members
----------
|
|_____activated (ja?/nej?)
|_____activationnumber, unikt värde i databasen.

Om jag använder rand() så får jag ju ett random tal men hur ser jag till så att det talet inte finns i databasen???

Finns det ett sätt att generera ett tal slumpmässigt som INTE finns i databasen?

MYCKET tacksam för svar :-)

FrofroMedlem sedan aug. 200021 inlägg
#3

Inte för att jag vet om detta är ett så speciellt bra sätt att göra det på, men du kan ju testa och se om det funkar som du vill ha det

$MIN_RAN = 0;
$MAX_RAN = 9;
$tal = "";

srand((double)microtime()*1000000);

while(strlen($tal) <= 12)
{
 $n = rand($MIN_RAN,$MAX_RAN);
 $tal = $tal.$n;
}
(int)$tal;

/Staffan

------------------
Spectator Of Suicide
http://www.larp.com/vampyrlajv/

nielsMedlem sedan juli 2000215 inlägg
#4

$user_id = md5(uniqid("generatorstring"));

Generar en unik användare id. Byt ut 'generatorstring' mot något eget.

/Nisse

------------------
www.phpfunctions.com

MarcusMedlem sedan juli 2000470 inlägg
#5

Du måste tycka jag är dum nu...men...
vad menar du med generatorstring?

Problemet kvarstår väl ändå att jag fortfarande inte vet om ett likadant(mot all förmodan) faktiskt finns i databasen?!

nielsMedlem sedan juli 2000215 inlägg
#6

Denna metoden generear en 32bokstavers lång sträng med en blanding av siffor och stora bokstäver. Det blir en chans på billjonen att den generar samma id.

generatorstring kan vara vad som helst.

------------------
www.phpfunctions.com

MarcusMedlem sedan juli 2000470 inlägg
#7

Tack :-)

Jag har gjort så nu att det slumpmässiga talet trycks in i databasen eftersom det ska agera aktiveringsnummer senare. Så fort talet har använts så tas det bort och det innebär ju att det kommer att vara rätt så tomt i den kolumnen i databasen. På det sättet så är ju risken för ett likadant tal nästan lika med 0. :-)

Genererad på 365 ms · cache AV · v20260730165559-full.f96bc7eb