login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[opgelost] Keygen Class, returned maar 1 letter/cijfer

Offline Nrzonline - 28/07/2006 18:22 (laatste wijziging 28/07/2006 18:39)
Avatar van NrzonlinePHP ver gevorderde Hey SiMa Leute,

Ik heb toch maar is de stap gemaakt om een beetje met classes
te gaan werken. Ik zit hier met een probleempje. (waarsch een
super dom foutje...) Mijn keygen geeft maar 1 letter/cyfer terug
IPV de aantal die je opgeeft. Dus komt er in mijn database het
volgende te staan:
user_key = 6
of
user_key = q
en dit moet normaal een combinatie van 12 letters/cijfers zijn.
Me class is als volgt:

  1. <?PHP
  2. class keygen
  3. {
  4. public function keygenerator ($length, $type)
  5. {
  6. $generated_key = "";
  7. mt_srand ((double) microtime () * 1000000);
  8. while (strlen ($generated_key) < $length)
  9. {
  10. $generate = chr (mt_rand (0, 255));
  11. if ($type == 1) // Unique + Activate Key
  12. {
  13. if (eregi ("^[a-z0-9]$", $generate))
  14. $generated_key = strtolower ($generated_key . $generate);
  15. }
  16. if ($type == 2) // Reset Key
  17. {
  18. if (eregi ("^[a-zA-Z0-9]$", $generate))
  19. $generated_key = $generated_key . $generate;
  20. }
  21. if ($type == 3) // Confirm (img) Key
  22. {
  23. if (eregi ("^[A-Z0-9]$", $generate))
  24. $generated_key = strtoupper ($generated_key . $generate);
  25. }
  26. }
  27. return $generated_key
  28. }
  29.  
  30. public function imagecreator ()
  31. {
  32. // image generator, niet relevant
  33. }
  34. }
  35. ?>


Ik gebruik hem op de volgende manier:
  1. <?PHP
  2. require (INCLUDES_PATH . "/keygen.class.php");
  3. $keygen = new keygen ();
  4. $generated_key = $keygen -> keygenerator (12, 1);
  5. ?>


Weet iemand waarom hij maar 1 letter/cijver returned?

4 antwoorden

Gesponsorde links
Offline Ontani - 28/07/2006 18:23
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
haal die return $generated_key; eens uit de while lus.
Offline Maarten - 28/07/2006 18:26
Avatar van Maarten Erelid Idd, return buiten de while, en je string uitbreiden met .= ipv = 
Offline Nrzonline - 28/07/2006 18:35
Avatar van Nrzonline PHP ver gevorderde Ok, ik heb nu me return buiten de de while loop (zoals ik zei,
domme fout) en ik had nog $key 3 plekken ipv $generated_key,
waardoor hij bijna 1 minuut nodig had met laden, en daarna
en oneindige lijst begon te maken met u.k. variabel $key 

Hij werkt nu perfect!

btw murfy, de $generated_key wordt niet uigebreid. Het zijn
verschillende type keys (voor veiligheid bij reset, en voor wat
simpelere codes bij de image-key).

Thnx both!
Offline Maarten - 28/07/2006 18:43
Avatar van Maarten Erelid Ah ok, excuseer. Maar het is dus bij deze opgelost 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.193s