Ankündigung

Einklappen
Keine Ankündigung bisher.

Codegenerator

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Codegenerator

    Guten Tag, ich muss eine ID generieren, habe aber vorerst nur mit kleinen Zahlen angefangen, dass keine Zahl doppekt vorkommt… naja das Problem ist, dass meine Funktion trotzdem doppelte ID`s vergibt.
    Danke im vorraus. Lukas.


    PHP-Code:
    public function getCode(){
    $code rand(10,20);
    $strpos strpos($this->codes_raw$code);
    if(
    $strpos == 0){
    file_put_contents('code.txt'$code."\n"FILE_APPEND);

    echo 
    'CODE IST OK<br />';
    return 
    $code;
    } else {
    echo 
    'CODE WIRD NEU GENERIERT<br />';
    $this->getCode();
    }



  • #2
    Zunächst mal:

    - Du hast ein Problem genannt, aber keine Frage gestellt
    - Du hast nicht gesagt, wo du das Problem vermutest und was du schon selber versucht hast zur Lösung beizutragen
    - Du hast unvollständigen Code gepostet, der für andere nicht nachvollziehbar - da nicht lauffähig - ist
    - Rücke deinen Code im Forum ein (der Editor bietet PHP-Tags), damit das jemand lesen möchte
    You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.

    Kommentar


    • #3
      Für sowas nimmt man besser eine Datenbank als eine Textdatei.

      Kommentar


      • #4
        Deine Funktion basiert ja nur auf einem Pseudo-Zufallswert zwischen 10 und 20 - wie soll da nach spätestens 20 Durchläufen denn _nicht_ der gleiche Code rauskommen? Was der String-Abgleich soll ist völlig unklar. Zufall und Eindeutigkeit schliessen sich aus. Nimm doch UUIDs.
        You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.

        Kommentar


        • #5
          danke für die schnellen antowrten. ich bin erst seit heute dabei und weiß noch nicht wie hier alles richtig gemacht wird. mfg Lukas

          Kommentar


          • #6
            Vielleicht kannst du auch einfach die Funktion uniqid() verwenden?

            Kommentar


            • #7
              Zitat von lukas12 Beitrag anzeigen
              Guten Tag, ich muss eine ID generieren, habe aber vorerst nur mit kleinen Zahlen angefangen, dass keine Zahl doppekt vorkommt… naja das Problem ist, dass meine Funktion trotzdem doppelte ID`s vergibt.
              Anhand der Beschreibung kannst du auch sequentielle ID's erzeugen... siehe Datenbank Primärschlüssel.
              Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

              Kommentar

              Lädt...
              X