adresse in textdatei speichern/Auslessen/löschen

  • Also ich will so das in nem Formular, ein Mail adresse eingegeben wird, diese soll in einer Textdatei gespeichert werden, falls diese bereits existiert soll gefragt werden ob sie wirklich gelöscht werden soll, falls mit ja bestätigt wurde, soll sie aus der Textdatei gelöscht werden!
    Und das Problem ist das ich keine Hnung habe wie ich das machen soll!?
    Hoffentlich könnt ihr mir nen paar Tipps geben!
    danke schon mal!

  • okay, dann ist das auch okay wenn es so geht, hab zwar mit MySQL im Moment noch ne paar probleme, siehe Thread PHP + MySQL, aber die werden sich schon noch lösen.
    Also wie könnte das mit MySQL funktionieren?

  • erstellst eine tablle mit 2 reihen. eine mit der id die zweite mit der adresse. wenn einer eine adresse eingibt lässt nach der suchen. wenn er die findet, gibst du eine frage aus und lässt sie dann löschen bzw. wenn er sie nicht findet gibt er einen fehler aus. statt diesen fehler lässt du einfach ein neues script laufen dass den eintrag macht.
    an und für sich ned so schwer...

  • Angenommen du hast die Spaltennamen id und email:
    Abfragen ob eine EmailAdresse vorhanden ist:

    Code
    select count(*) from tabellenname where email like 'eingetrageneAdresse';


    Du kriegst hier ein Wert zurück. Wenn der größer 0 ist, ist die Adresse vorhanden.

    Wenn die Email Adresse vorhanden ist wird sie gelöscht:

    Code
    delete * from tabellenname where email like 'eingetrageneAdresse';


    Wenn die Adresse nicht vorhanden ist, dann wird sie eingetragen:

    Code
    insert  into tabellenname values (NULL, 'eingetrageneAdresse');


    Null für id falls du auto_increments benutzt hast. Ansonsten musst du in deinem Programm hochzählen.

  • dank erstmal , hab aber leider irgednwie was falsch:
    Hier der Code

    Funktioniert aber nicht, warum?
    er löscht die Mails, aber schreibt nie eine Adresse ein, also nehme ich mal an das die Variable $prüfen immer größer als 0 ist......!
    wie muss ich den code verändern damit man auch Adressen einschreiben kann???

  • Code
    mysql_query("Insert into mail(Adresse) VALUES '$mail'));");

    Da stimmt was mit den Klammern nicht.

    müsste doch eher so aussehen:

    Code
    mysql_query("Insert into mail(Adresse) VALUES ('$mail');");

    Ansonsten geb doch mal $prüfen auf der html Seite aus, dann siehst du ja was für einen Wert die Variable hat.
    Aber eigendlich müsste select count(*) from mail where Adresse like '$mail'; 0 zurückgeben wenn die Adresse tatsächlich nicht eingetragen ist.

  • Code
    $prüfen = mysql_query("select count(*) from mail where Adresse like '$mail';");

    Kann man das überhaupt so machen in PhP? Da wird wohl der Fehler liegen.
    Das Problem ist, dass ich mich mit PhP noch nicht beschäftigt habe. Bei Java hät ich dir eher weiterhelfen können.
    Naja, aber es gibt ja genug hier im Forum die PhP Kenntnisse haben.

  • Hallo Prieser,

    mysql_query liefert keine Datensätze wieder, sondern führt lediglich den Befehl in der Datenbank aus. Du musst dafür mysql_fetch_row in Kombination mit mysql_query verwenden.

    Code
    $pruefen = mysql_fetch_row (mysql_query("select count(*) AS anzahl from mail where Adresse like '$mail';"));


    Um auf die Anzahl zurückzugreifen, musst Du eine Art Alias vergeben mit 'AS aliasname'.
    Widergeben kannst Du die Anzahl mit:

    Code
    echo $pruefen[anzahl];


    Ohne 'AS anzahl' würde es auch mit der Indexnummer funktionieren.

    Code
    echo $pruefen[0];


    UInd verwende beim Programmieren bitte niemals Umlaute, Sonderzeichen und Co. für Variablennamen.

  • soory, hab ein bissel rumprobiert und dann selber die Fehler gesehen.....! Und jetzt bin ich so weit das dat alles funktioniert!!!!
    Hier der Code:


    Danke für eure Mithilfe!!!!

  • hey leute,
    jetzt habe ich mit dem Code ein Problem ich gebe ihn ein und immer wenn ich ihn ausgeben will komm diese Fehlermeldung= "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Apache2\htdocs\newsletter2.php on line 15"

    Hoff ihr könnt mir weiterhelfen!?