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!
adresse in textdatei speichern/Auslessen/löschen
-
-
Welche Programmiersprache?
-
java oder php!
-
also das mit einer textdatei zu lösen wird kompliziert... einfacher wärs das ganze in eine mysql tabelle zu speichern
-
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... -
okay, tabelle hab ich erstellt, das problem ist wie schreibe ich den code damit er den rest macht????
-
Okay also ich hab jetzt tabelle, und die Adressen werden auch eingetragen, aber wie vergleiche ich das ganze jetzt????
-
Angenommen du hast die Spaltennamen id und email:
Abfragen ob eine EmailAdresse vorhanden ist:
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:
Wenn die Adresse nicht vorhanden ist, dann wird sie eingetragen:
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 CodePHP
Alles anzeigen<html> <body> <?php $host = "localhost"; $user = "root"; $password = ""; $db = "test"; print(" ".$mail." "); mysql_connect($host, $user, $password); mysql_select_db($db); $prüfen = mysql_query("select count(*) from mail where Adresse like '$mail';"); if ($prüfen > 0) { mysql_query("delete from mail where Adreese like '$mail';"); } else { mysql_query("Insert into mail(Adresse) VALUES '$mail'));"); } ?> </body> </html>
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??? -
Da stimmt was mit den Klammern nicht.
müsste doch eher so aussehen:
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. -
also egal was ich einschreibe es kommt immer, wenn ich jetzt die Variable $prüfen ausgebe, folgendes : "Resource id #2"
??? -
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:
Ohne 'AS anzahl' würde es auch mit der Indexnummer funktionieren.
UInd verwende beim Programmieren bitte niemals Umlaute, Sonderzeichen und Co. für Variablennamen. -
Danke
-
Na klar, da fehlt ja auch ein Semikolon am Zeilenende. Ich verbesser es gleich mal in meinem Post
-
Wie? Hast Du Deinen Beitrag editiert??? Da stand doch gerade noch was anderes!
-
Du verwirrst mich ... schon wieder?
Funktioniert es denn nun? -
soory, hab ein bissel rumprobiert und dann selber die Fehler gesehen.....! Und jetzt bin ich so weit das dat alles funktioniert!!!!
Hier der Code:PHP
Alles anzeigen<html> <body> <?php $host = "localhost"; $user = "root"; $password = ""; $db = "test"; print(" ".$mail." "); mysql_connect($host, $user, $password); mysql_select_db($db); $adressen = mysql_fetch_array(mysql_query("select count(*) AS anzahl from mail where ADRESSE like '$mail';")); print($adressen[anzahl]); if($adressen[anzahl] == 0) { mysql_query("insert into mail(ADRESSE) VALUES ('$mail');"); } else { mysql_query("Delete from mail where ADRESSE like '$mail';"); } ?> </body> </html>
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!?
-