Werner!: Eintrags-ID vergeben (Gästebuch)

Hallöchen!

Ich bastel grad an einem Gästebuch mit Textdatenbank und bekomme es einfach nicht hin jedem Eintrag eine ID zu geben.
Das müsste irgendwie mit $id++ gehen.
Hat jemand einen Plan?

  1. Hi,

    wenn du die Datei mit den Einträgen mit file() ausliest, hast du den Inhalt in einem Array, Zeile für Zeile... Und wie kann man in einem Array die Anzahl der Elemente auslesen?

    E7

    PS: Du könntest natürlich auch jeden Eintrag mittels md5() eine ID geben (die müsstest du dann nicht mal speichern)

    1. Ich brauche aber eine ID um Einträge zu löschen usw.

      1. Hi,

        Ich brauche aber eine ID um Einträge zu löschen usw.

        Dann nimm md5(). Damit kannst du jede Zeile zweifelsfrei identifizieren.

        $a = file("irgendwas.txt");
        foreach ($a as $val) {
            $b = md5($a);
            echo "<a href="datei.php?löschen=$b">Löschen</a>";
        }

        E7

        1. Da wird bei mir immer die selbe Zahl angezeigt.

          1. Hi,

            Da wird bei mir immer die selbe Zahl angezeigt.

            Stimmt. Es muss auch $b = md5($val); und nicht $b = md5($a); heißen *schäm*

            E7

        2. Moin!

          Dann nimm md5(). Damit kannst du jede Zeile zweifelsfrei identifizieren.

          Sicherlich NICHT. MD5 bildet beliebig lange Strings auf eine dazu berechnete 128-Bit-Zahl ab. Daraus folgt: Zwei verschiedene Strings werden auf die gleiche Zahl abgebildet, denn es gibt sicher mehr als 2^128 verschiedene Strings.

          Also kann man von "zweifelsfrei" garantiert nicht sprechen.

          Was spricht dagegen, einfach die Zeilennummer zu verwenden? Die ist garantiert zweifelsfrei (wenngleich sie keine ID im Sinne einer Datenbank ist - das Risiko muß man bei Textdateien eben eingehen).

          - Sven Rautenberg

          1. Hi,

            Daraus folgt: Zwei verschiedene Strings werden auf die gleiche Zahl abgebildet

            Die Chance steht aber 1:2^128... Da ist sogar ein Lottogewinn (so richtig groß) wahrscheinlicher...

            Was spricht dagegen, einfach die Zeilennummer zu verwenden? Die ist garantiert zweifelsfrei (wenngleich sie keine ID im Sinne einer Datenbank ist - das Risiko muß man bei Textdateien eben eingehen).

            Hatte ich ja bereits indirekt vorgeschlagen...

            E7

  2. Hello,

    Dann gib Deiner Datei mit den GB-Einträgen einen Header. In diesem kannst Du die letzte ID speichern und dann kannst Du sie auch automatisch hochzählen, bevor die Daten wieder weggeschrieben werden.

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    [ Computer-Camp für PHP-Anwender in den Sommerferien. Programmieren,
      Sport, Fun, Fete. Teilnehmermindestalter Gruppe 1: 14 Jahre
      Mindestalter Gruppe 2+3 18 Jahre, Info bei mir ]
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen