Unieke code generator

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Pagina: « vorige 1 2 3 4 volgende »

- SanThe -

- SanThe -

22/10/2005 22:19:00
Quote Anchor link
Stefan:
26*25*24*10*9*8


Dit is als er geen dubbele letters en cijfers in zitten.
Maar die zitten er wel in.
Gewijzigd op 22/10/2005 22:22:00 door - SanThe -
 
PHP hulp

PHP hulp

16/11/2024 09:38:57
 
Jan Koehoorn

Jan Koehoorn

22/10/2005 22:21:00
Quote Anchor link
Stefan:
nee, dan zijn ze niet uniek.
het is 26*25*24*10*9*8 (=11.232.000)
maar heeft idd weinig met php te maken.


Dat is inderdaad als elke letter of elk cijfer maar één keer mag voorkomen. Als er dubbelen in mogen zitten, heeft SanThe gelijk.
 
- SanThe -

- SanThe -

22/10/2005 22:21:00
Quote Anchor link
Sorry, zag niet dat we al op de tweede pagina zaten.
Gewijzigd op 22/10/2005 22:23:00 door - SanThe -
 
Jan Koehoorn

Jan Koehoorn

22/10/2005 22:21:00
Quote Anchor link
Jan:
Stefan:
nee, dan zijn ze niet uniek.
het is 26*25*24*10*9*8 (=11.232.000)
maar heeft idd weinig met php te maken.


Dat is inderdaad als elke letter of elk cijfer maar één keer mag voorkomen. Als er dubbelen in mogen zitten, heeft SanThe gelijk.


GMTA!
 
Jan Koehoorn

Jan Koehoorn

22/10/2005 22:24:00
Quote Anchor link
Ik zit net te denken, op een gegeven moment is dat maximale getal bereikt en dan ontstaat er een eindeloze do - while loop. Het zou dus goed zijn om vooraf op het aantal records te checken, denk ik?
Gewijzigd op 22/10/2005 22:25:00 door Jan Koehoorn
 
- SanThe -

- SanThe -

22/10/2005 22:24:00
Quote Anchor link
Jan:
GMTA!


Huh, wat is dat?
 
Jan Koehoorn

Jan Koehoorn

22/10/2005 22:25:00
Quote Anchor link
Oh da's een oude chat-afkorting:
Great Minds Think Alike!
 
- SanThe -

- SanThe -

22/10/2005 22:25:00
Quote Anchor link
Jan:
Ik zit net te denken, op een gegeven moment is dat maximale getal bereikt en dan ontstaat er een eindeloze do - while loop. Het zou dus goed zijn om vooraf op het aantal records te checken, denk ik?


Timeout in de loop zetten.
 
- SanThe -

- SanThe -

22/10/2005 22:26:00
Quote Anchor link
Jan:
Oh da's een oude chat-afkorting:
Great Minds Think Alike!


THANKS ;-) Hahahaha
 
Jan Koehoorn

Jan Koehoorn

22/10/2005 22:30:00
Quote Anchor link
Ja, of misschien iets met array_unique, net wat sneller is. Of "SELECT DISTINCT"?
Gewijzigd op 22/10/2005 22:31:00 door Jan Koehoorn
 
Arend a

Arend a

23/10/2005 09:31:00
Quote Anchor link
Quote:
@ Stefan van Iwaarden: Dan moet je oneindig veel if-jes erin zetten, want stel die functie die je daarna maakt bestaat al. Dat moet je dan weer controleren. En bestaat die al, dan moet je wéér controleren.
Dus dit is niet echt een optie.


Oneindig veel ifjes worden in de programmeerwereld veelal in een loop samengevat. Ik denk dat stephan's idee lang niet zo slecht is:

Wat als je het via een while loop aanpakt (ik begrijp dat je liever niet dingen met data erin verwerkt gebruikt?

extreem brakke niet werkende code, maar het gaat om het principe (en het is zondag ochtend, cut me some slack)

function zoeknieuwecode (
while ($found != 1) {
$code = rand();
// zit $code als in de tabel?
mysql_query (select * from tabel where code = $code)
if (mysql_results > 0) {
//nieuwe code zoeken
next;
} else {
return $code
}
}
}
Gewijzigd op 23/10/2005 09:33:00 door Arend a
 
Hellolo

Hellolo

23/10/2005 11:21:00
Quote Anchor link
Dan moet je van die $found iets van mysql_num_rows("SELECT code FROM codes WHERE code = '".$code."'") doen ofzo (of een SELECT COUNT(code) as aantal FROM codes WHERE code = '".$code."').

(denk ik)
 
Hellolo

Hellolo

23/10/2005 11:22:00
Quote Anchor link
*sorry, drukte op F5
Gewijzigd op 23/10/2005 11:22:00 door Hellolo
 
Jan Koehoorn

Jan Koehoorn

23/10/2005 12:18:00
Quote Anchor link
Ja, zoals ik gisteren al zei, op zich werkt die code die ik gemaakt heb wel, maar volgens mij wordt hij trager naarmate het aantal gegenereerde codes groter wordt.

Het principe is nu:

1) genereer een willekeurige code
2) kijk of hij al bestaat
3) ga net zo lang door tot je een code hebt die nog niet bestaat
4) voeg de code toe

maar vooral punt 3) gaat op een gegeven moment lang duren

eigenlijk zou het beter zo kunnen:
1) maak ALLE codes aan
2) zet ze in een array
3) hussel de array door elkaar
4) geef elke nieuwe bezoeker het volgende element van de array als code
 
Eric Cartman

Eric Cartman

23/10/2005 12:25:00
Quote Anchor link
Misschien is het ook wel wat om het IP te coderen met md5, dan krijg je geen code van 3 letters en 3 cijfers, mar heb je wel altijd een unieke code (lijkt mij).

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$ip
= $_SERVER['REMOTE_ADDR'];
$md5 = md5($ip);
echo "Jouw unieke code is: " .$md5;
?>
 
Jan Koehoorn

Jan Koehoorn

23/10/2005 12:28:00
Quote Anchor link
Jip:
Misschien is het ook wel wat om het IP te coderen met md5, dan krijg je geen code van 3 letters en 3 cijfers, mar heb je wel altijd een unieke code (lijkt mij).

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$ip
= $_SERVER['REMOTE_ADDR'];
$md5 = md5($ip);
echo "Jouw unieke code is: " .$md5;
?>


Voor een unieke code is dat niet voldoende, want wat nu als er twee verschillende mensen lid van je site willen worden vanachter dezelfde computer?
 
Jelmer -

Jelmer -

23/10/2005 12:32:00
Quote Anchor link
md5(microtime());
Ik denk dat er een hele kleine kans is dat mensen op de 1000ste miliseconde gelijk zijn.
 
Eric Cartman

Eric Cartman

23/10/2005 12:34:00
Quote Anchor link
Dan heb ik ook een oplossing... De username coderen met md5, die mag immers niet (meestal niet) meer dan 1 keer voorkomen...
 
Jan Koehoorn

Jan Koehoorn

23/10/2005 12:41:00
Quote Anchor link
Jelmer:
md5(microtime());
Ik denk dat er een hele kleine kans is dat mensen op de 1000ste miliseconde gelijk zijn.


Precies, zo doe ik het dus ook altijd. Voor een 100% waterdichtheid moet je toch naar een van tevoren gegenereerde code toe denk ik. Zie mijn eerdere post.

edit: het is natuurlijk de 1000ste seconde, OF de milliseconde ;-)
Gewijzigd op 23/10/2005 12:44:00 door Jan Koehoorn
 
Jan Koehoorn

Jan Koehoorn

23/10/2005 12:42:00
Quote Anchor link
Jip:
Dan heb ik ook een oplossing... De username coderen met md5, die mag immers niet (meestal niet) meer dan 1 keer voorkomen...


Ja, of de combi user-pass emdeevijven :-)
 

Pagina: « vorige 1 2 3 4 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.