webForumDet fria alternativet

document.write() och radbrytning

0 svar · 285 visningar · startad av Pedda

PeddaMedlem sedan juni 20006 032 inlägg
#1

Jag hämtar en text från databasen och om texten innehåller en radbrytning så visas inget.
Vad ska man göra för att det ska funka? Eller är det omöjligt att köra document.write på en text med radbrytning?

Kör med php men ni förstår nog koden ändå.
För er som inte kan php så kan jag berätta att nl2br() gör så att radbrytningar ifrån databasen blir till <br /> men jag har testat även utan det.

<?php 
include('conn.php');

if (isset($_GET['n']) AND preg_match("/^[0-9]+$/", $_GET['n'])) {
	$gbId = $_GET['n'];
	
	// Hämta senaste inlägget
	$result = mysql_query("SELECT meddelande FROM ".$prefix."messages WHERE ref_gbookId=$gbId AND privat != 1 ORDER BY m_id DESC LIMIT 1");
	$mess = mysql_fetch_assoc($result) or die ("document.write(\"Errorkod: 1066. Meddelandet kan inte visas.\";");
	
	$text = nl2br(htmlspecialchars($mess['meddelande'], ENT_QUOTES));
	
	echo "document.write(\"$text\");";
	
} else {
	echo "document.write(\"Errorkod: 1067. Meddelandet kan inte visas!\");";
}
?>

På en annan sida så ska resultatet visas genom koden:

<script language="javascript" src="http://www.mindomän.se/e_mess.php?n=1">
267 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
127 ms — hämta statistik (db)
137 ms — hämta tråd, inlägg och bilagor (db)