Hi,
ich will in einem php-script mit einer Javascriptfunktion einen String wieder in ein Formularfeld schreiben, den ich aus einer Datenbank geholt habe.
du solltest dein Problem schrittweise angehen, d.h. immer einen Schritt nach dem anderen ananlysieren und prüfen, ob in diesem Schritt das herauskommt, was du erwartest. Das nur als algemeiner Rat, denn du hast hier einen Themenkomplex, der PHP, die Datenbank und Javascript enthält.
das funktioniert auch wenn im String keine Leerzeichen vorkommen.
Deutet stark auf ein Problem mit Anführungszeichen hin, dazu passt auch die Fehlermeldung, die du in deinem nächsten Posting wiedergibst.
echo"<input id='song' name='song' class='mytextinput' value='".htmlentities($_POST['song'],ENT_QUOTES)."'/>";
Hier sieht's korrekt aus, aber betrachte lieber den clientseitigen Quellcode, so wie er im Browser ankommt. Der ist für JS relevant, und außerdem ist er leichter zu überblicken.
$sql = "UPDATE titel SET song = '".mysql_real_escape_string($_POST['song'])."' WHERE tid ='".$_POST['tid']."';";
sieht für mich auch korrekt aus, auch wenn ich nicht gerade der Datenbank-Experte bin.
echo "<td><a href='#' onclick=javascript:updatesong('".$dsatz['song']."','".$dsatz['tid']."');>".$dsatz['song']."</a></td>";
Aber hier knallt's. Schau dir diese Zeile mal wirklich im Browser-Quelltext an, dann siehst du sofort, was du vergessen hast. Abgesehen davon, dass das Label "javascript:" in einem Javascript-Eventhandler unsinnig ist.
So long,
Martin
Lieber Blödeleien als blöde Laien.