Brauche hilfe bei einem PHP Newsletter

  • Ich habe den Newsletter von php-kurs.de übernommen und möchte gerne dass wenn die Person die den Bestätigungslink angeklickt hat und "registriert" ist soll in der "nl-anwaerter.txt" die Zeile mit diesen daten der Person gelöscht werden.


    Hier ist der Code

    Kann mir einer helfen oder mir einen Tipp geben?


    newsletter.php

    newsletter-freischalten.php


  • Ja:

    - eine neue-anwaerter.txt zum Schreiben erstellen

    - die aktuelle anwaerter.txt zeilenweise einlesen

    - prüfen, ob die eingelesene Zeile mit den zu löschenden übereinstimmt

    - wenn NICHT, dann Zeile in neuer Datei speichern

    - sind alle Zeilen eingelesen:

    -- Dateien schliessen

    -- alte Datei löschen

    -- neue Datei in alte Datei umbenennen

  • Und wie kann ich es umsetzen?


    Also ich brauche das nur noch das die Zeile der Person gelöscht wird

    Aber halt nur die Zeile der Person die freigeschaltet ist

  • Ich würde dieses Double-Opt-In Verfahren anders programmieren.


    Ablauf:

    Du erstelltest einen zufälligen hash, z.b. Aus dem Anmeldernamen und einer Funktion. Diesen Hash speicherst du dann ab, z.b. In die DB. Der Anmelder erhält ne E-Mail mit Bestätigungslink. Zu diesem Bestätigungslink fügst du dann diesen hash hinzu. Nun wenn er draufklickt, holst du mit GET den Parameter und vergleichst ihn mit dem hash in der Datenbank, und wenn diese beiden übereinstimmen, dann setzt du das Feld actice auf 1. Dies bedeutet, dass er den Newsletter haben möchte.

  • Habe sowas noch nie gemacht, und daher ist meine Lösung auch noch stark verbesserungswürdig.


    Ablauf: 2 txt-dateien, beide enthalten die selben daten, nur werden in einer alle Daten mit einem | getrennt (email-adresse|Geschlecht|Vorname|Nachanme|Kennummer|email-adresse2|.....) und in der 2.ten wird dann nach den userdaten ein , gemacht. (email-adresse|Geschlecht|Vorname|Nachanme|Kennummer, email-adresse2|...... ). Nun rufe ich beide txt datein auf um den Inhalt zu erhalten. Da alles nun ein String ist muss man, um speziell nur 1ne Zeile zu löschen, diesen in ein array umwandeln. Das selbe passiert mit dem Inhalt der 2.ten Txt. Nun hast du einmal die ganzen werte in einem array, jeder wert hat seinen eigenen Schlüssel, dies brauchen wir um zu überprüfen, ob die id auch in dem array drin ist. Den anderen array brauchst du um die gewünschte Zeile mit den Unserdaten zu löschen. Und zum Schluss fügst du den restlichen Inhalt wieder in die txt-datei ein.


  • Das meine ich nicht

    Wenn die Person ihre Email-adresse bestätigt hat werden die daten in die nl-bestaetigt.txt eigetragen, das funktioniert

    Aber beim neu laden der site wird es wieder eingetragen und man kann dadurch spamen.

    Deshalb soll dann wenn die Daten in die nl-bestaetigt.txt datei eingetragen wurden die selben daten aus der nl-anwaerter.txt datei gelöscht werden.