[PHP & MySQL] Edit statt Insert into

Startpost-Retter
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
.Senseless
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.
.Senseless
AnnSo, kannst du mal deine Codes posten und die Fehlermeldung? smile
Dann kann man das vielleicht eher lösen (;
Stelo
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 UPTDATE.

Ü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".
Stelo
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.
Stelo
Ok, dann sind wohl doch die Klammern nach SET falsch, nimm die mal bitte raus und mach auch das Leerzeichen vor dem Komma weg. smile
Stelo
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
php:
1:
print_r($_POST)

und überprüfe, ob $_POST['username'] überhaupt einen Wert hat. Ansonsten liegt das Problem wohl bei dem Formular.
Stelo
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'