TestMax.dk Paster
  • Forside
  • Print
  • Bookmark
  • Kontakt
  • SiteMap


infobox infobox
 

Random nummer

07-03-2008 21:48:30
 
 
Muligheder (Anmeld)
Skrevet af unike
Kliks 498
Kategori PHP Generelt
Hej Testmaxere...


Jeg har lige et spoergsmaal til PHP & SQL.

Jeg bruger denne fine kode her :



$chars = range('1','9');
$nums = array();

while (count($nums) < 8)
{
$r = mt_rand(0,count($chars)-1);
$nums[] = $chars[$r];
}
$rand = join($nums);


saa hver bruger faar sin egen random kode..

Men saa kom jeg saa lige i tanke om at det nok ikke ville vaere saa smart hvis det random nummer ramte et som der en bruger der alderede havde..


Hvordan goer jeg saa den lige tjekker op imod min SQL server.. og hvis det random nummer er taget af en bruger, saa laver den et nyt og tjekker op paa det. Og saadan bliver den ved, endtil det random nummer ikke er Optaget ?? :D

Jeg siger paa forhaand tak og haaber i kan hjaelpe mig med dette.!
Once apon a time!!
 
infobox infobox


infobox infobox
 
#1phanion(Anmeld) 08-03-2008 01:21:05
 
 
mysql_query("SELECT * FROM dintable WHERE kode='$rand'");
i qm yh4 b54e5 you nioirew
 
infobox infobox

infobox infobox
 
#2Dandy(Anmeld) 08-03-2008 03:06:07
 
 
Du har 9^8 kombinationer, hvad er risikoen for at 2 brugere får samme password, og endda forsøger med passwordet

43046721
 
infobox infobox

infobox infobox
 
#3unike(Anmeld) 08-03-2008 17:30:10
 
 
#2 nej dandy.. det er ikke til password :D

det er deres (id) nummer paa en maade. men man kan jo vaere uheldig at den laver et random nummer som alderede er blivet taget..

Once apon a time!!
 
infobox infobox

infobox infobox
 
#4kolonD(Anmeld) 22-03-2008 23:11:16
 
 
Dette er måske mere optimalt:


function make_id($salt='') {
       $id = microtime();
       $id .= rand(0, 9999);
       $id .= $salt;
       return md5($id);
}

print make_id();
 
infobox infobox

infobox infobox
 
#5kolonD(Anmeld) 22-03-2008 23:15:17
 
 
og så bør du i øvrigt lave et UNIQUE index på feltet med dette bruger id i din database
 
infobox infobox

infobox infobox
 
#6unike(Anmeld) 27-03-2008 20:42:46
 
 
#5 ..

Takker for tippet. det var en god ide!
Once apon a time!!
 
infobox infobox

infobox infobox
 
#7jordz(Anmeld) 27-03-2008 22:21:20
 
 
Hvorfor lave noget som allerede er lavet.
Mysql har jo auto increase mulighed for prim key.
og det er vel der du skal bruge det?
Sprog: PHP - HTML - CSS - Javascript - MSL
Hjemeside: [url]http://www.Webcomfort.dk[/url]
 
infobox infobox

Påmindelse ved nyt svar

Ved at tilmelde dig automatisk påmindelse, modtager du en email så snart denne tråd bliver besvaret, dog sender vi kun en mail til dig, også selvom der er kommet flere svar, simpelthen for at spare dig for spam i din indbakke.


infobox infobox
  Svar på tråden  
   
 
 
infobox infobox

infobox infobox
  Læs dette før du sender dit indlæg!  
 
Ved tryk på send knappen accepterer du vores regelsæt som kan læses her
Praktiske informationer
Type Eksempel Resultat
Fed [b]din tekst[/b] din tekst
Kursiv [k]din tekst[/k] din tekst
Understreg [u]din tekst[/u] din tekst
Kode felt [code]din tekst[/code]
din tekst
infobox infobox