Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] Edit statt Insert into (https://www.gegen-bilderklau.net/thread.php?threadid=156597)
Geschrieben von Startpost-Retter am 31.05.2009 um 20:44:
Edit statt Insert into
Huhu GB,
ich möchte ein Notizbuch für die Mitglieder machen, sodass jeder sein eigenes kleines Büchlein hat, in das er beliebig reinschreiben kann.
Bisher bin ich so weit, dass ich die Tabelle "notizen" habe. Die IDs der Mitglieder wird dann festgelegt und für jedes Mitglied richtig ausgelesen. Das ist kein Problem, das bekomm ich selbst hin ;D
Die Sache soll dann ein einfaches Formular mit Textbereich sein. Der Clue ist aber, dass das Formularfeld sowohl die Notizen anzeigen, als auch verändern soll.
Um das zu erreichen müsste ich statt INSERT INTO ja einfach irgendwas anderes in die send Datei schreiben, aber was? Es soll ja keine neuer Inhalt geschrieben werden, sondern der alte nur geändert werden.
Und die Frage ist natürlich auch, wie ich den in der Datenbank gespeicherten Text im Formular ausgeben lasse, sodass man z.B. neue Notizen einfach dazuschreiben oder Rechtschreibfehler verbessern kann oder was auch immer.
Wäre für Denkanstöße sehr dankbar :>
LG
Nella
Geschrieben von .Senseless am 31.05.2009 um 20:58:
Einfach die Notiz aus der DB auslesen, in der textarea echo'n und dann mit nem Formular den Text aus der textarea in die DB schreiben..? mit insert into, ganz normal.
Geschrieben von .Senseless am 11.08.2009 um 19:49:
AnnSo, kannst du mal deine Codes posten und die Fehlermeldung?
Dann kann man das vielleicht eher lösen (;
Geschrieben von Stelo am 11.08.2009 um 20:14:
Ok, ist ja nun schon etwas älter, aber um das Problem bei dem Code oben noch zu erläutern:
php: |
1:
|
$eintrag = "UPTDATE `notizen` ( `id` , `notiz`) VALUES ('$id' , '$notiz')" |
|
Es heißt UPDATE nicht UP
TDATE.
Übrigens muss die ID nicht geupdatet werden, die muss nur beim ersten mal eingetragen werden, denn jedes Mitglied hat ja nur einen Notizzettel. Stattdessen muss hinzugefügt werden:
"WHERE id = $id".
Geschrieben von Stelo am 11.08.2009 um 20:48:
Die Zeilen 12 bis 16 mal bitte dadurch ersetzen:
php: |
1:
2:
|
$eintrag = "UPDATE notizen SET (username='$username' , notiz='$notiz') WHERE username = '$username'";
$eintragen = mysql_query($eintrag) OR die(mysql_error()); |
|
MySQL Befehle möglichst immer groß schreiben.
Der UPDATE Befehl sollte außerdem folgende Struktur haben:
UPDATE name-der-tabelle SET (spalte1 = inhalt1, spalte2 = inhalt2) WHERE das=dies
Nach dem SET bin ich mir wegen der Klammer gerade nicht sicher, bin aber zu faul nachzusehen. Einfach mal probieren.
Außerdem habe ich noch mysql_error eingefügt, das sagt dir immer, wo genau der Fehler liegt.
Geschrieben von Stelo am 11.08.2009 um 20:59:
Ok, dann sind wohl doch die Klammern nach SET falsch, nimm die mal bitte raus und mach auch das Leerzeichen vor dem Komma weg.
Geschrieben von Stelo am 11.08.2009 um 21:09:
Also wie ich bei der Fehlermeldung vorhin sehen konnte, hat deine Variable $username keinen Inhalt. Du kannst das ja mit einem echo-Befehl gern noch einmal testen.
Somit wir ddie WHERE-Klausel nicht erfüllt und es wird nicht eingetragen - logisch.
Da $username ja von dem $_POST-Array definiert wird, versuche außerdem mal
und überprüfe, ob $_POST['username'] überhaupt einen Wert hat. Ansonsten liegt das Problem wohl bei dem Formular.
Geschrieben von Stelo am 11.08.2009 um 21:20:
Autsch. Du solltest dich bitte noch mal mit ein paar Grundlagen befassen. Es bringt dir nichts, wenn ich dir jetzt nur all deine Fehler ausbessere. Deshalb nur einige Tipps:
$username = "$_GET[username]";
Hier übergibst du nicht den Wert aus der GET-Variable, sondern schreibst einfach den String "$_GET..." in die Variable $username.
Warum übergibst du es überhaupt per GET, wenn du es doch eigentlich als SESSION gespeichert hast?
Des weiteren musst du bei allen HTML Zuweisungen, wie z.B. "name", den entsprechenden Wert in einfache Hochkommas setzen, z.B. type='text'
Forensoftware: Burning Board, entwickelt von WoltLab GmbH