Bei Text Export aus DB fehlt die erste Zeile

philishake

javascript enthusiast
Hallo Liebe Community,

ich bin gerade dabei für meine Schwester, die sich derzeit in Chile aufhält, einen Blog zu programmieren. Ich sitze gerade an der "Editier-Funktion" und habe da ein Problem. Ich Speichere den Inhalt des Blogs in einer MySQL Datenbank ab. Funktioniert einwandfrei auch wenn er ausgegeben werden soll klappt alles wunder bar. Lese ich den Inhalt nun aber aus und schreibe ihn in eine "<textarea>" mittels "value=$inhalt" so fehlt, egal wie lang der Blog ist und welche Sonderzeichen drin sind, generell die erste Zeile. Ein zweites Problem ist, dass wenn ich den Betreff des Blogs in ein "<input type=text>" ausgebe und der Betreff Leerzeichen enthält so fehlt alles ab dem ersten Leerzeichen. Hab schon probiert den Betreff mittels strtr() oder str_replace zu manipulieren aber das klappt alles nicht.

Hier der PHP-Code der Abfrage:

PHP:
	$sql = "SELECT * FROM blog WHERE Zeit='$zeit'";
	$result = mysql_query($sql) OR die(mysql_error());
	if ( mysql_num_rows($result) ) {
	while($row = mysql_fetch_assoc($result)) {
	
	$Betreff = $row['Betreff'];
	$Inhalt = $row['Inhalt'];
	echo "<form action=blog_edit_3.php method=post>
	      Betreff: $Betreff <br>
	      <input type=text name=Betreff value=$Betreff><font color=red>Achtung: Betreff Überprüfen</font><br>
		  <textarea cols=55 rows=19 name=text value=$Inhalt></textarea>
		  </form>";
	
	}
	}
 
Textarena hat keinen Value sondern der Inhalt wird zwischen die Tags geschrieben

Und beim Betreff solltest du Anführungszeichen auf jeden Fall verwenden. Zusätzlich noch ein htmlentities() damit auch Anführungszeichen die einst angegeben worden kein Problem sind:

PHP:
    $sql = "SELECT * FROM blog WHERE Zeit='$zeit'";
    $result = mysql_query($sql) OR die(mysql_error());
    if ( mysql_num_rows($result) ) {
    while($row = mysql_fetch_assoc($result)) {
    
    $Betreff = htmlentities($row['Betreff']);
    $Inhalt = $row['Inhalt'];
    echo "<form action=blog_edit_3.php method=post>
          Betreff: $Betreff <br>
          <input type=text name=Betreff value=\"$Betreff\"><font color=red>Achtung: Betreff Überprüfen</font><br>
          <textarea cols=55 rows=19 name=text>$Inhalt</textarea>
          </form>";
    
    }
    }


PS: Generell solltest du alle HTML Attribute immer in anführungszeichen schreiben
 
Als ich die Sache mit den Textareas las musste ihr mir selber an den Kopf fasen :) Stimmt, das hatte ich bei aller Aufregung völlig vergessen ^^

Danke für Tipps. Klappt alles Super!
 
Zurück