10. juli 2005 - 18:45
Der er
35 kommentarer og 1 løsning
<br> problemer i textarea
Jeg har lavet så alle bruger på mit community men jeg har et problem jeg kan ikke få den til at lave <br> når man laver en linie skift den skriver sådan her i gæstebogen i stedet <br /> for at lave en linie skift hvad er problemet sådan ser koden ud der skal lave det $besked = $_REQUEST['besked']; $besked = nl2br($besked);
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
<br /> Er jo et linje skift.. <br> Er oldschool og bruges ikke mere.
hvorfor skrivver den så <br /> i beskeden i stedet for at lave en linie skift det er det jeg mener
Slettet bruger
10. juli 2005 - 18:58
#3
saucer -> Sådan en gang vås :) Det er bare måden at lave et linieskift i to forksellige sprog! mr-xmas -> Prøv at lave en html_entity_decode() lige inden du outputter. Hvis du fx outputter sådan her: echo $message; skal du i stedet gøre det sådan: echo html_entity_decode($message);
du kan sende svar igen hvis du kan hjælpe mig vidre :)
Slettet bruger
10. juli 2005 - 18:59
#5
Men det egentlig problem ligger nok i at du inden du lægger op i databasen laver nl2br() og en htmlentities()...
echo html_entity_decode($besked); jeg forstår ikke hvor jeg skal sætte den ind :(
gartzen jeg forstår nemlig ikke hvad der er i vejen for jeg kan få det itl at virke med mit nyhedssystem og har prøvet at tage noget af koden :(
Slettet bruger
10. juli 2005 - 19:01
#8
Det skal du gøre det sted hvor du lige nu har echo $besked;
Slettet bruger
10. juli 2005 - 19:01
#9
Har du ikke et link til din side med problemet?
10. juli 2005 - 19:03
#10
hm jo du kan se den her
www.mr-xmas.dk/?side=gb.php det er så en anden side jeg har lavet men den rigtige skal man være logget ind på men den der har jeg samme problem med
10. juli 2005 - 19:04
#11
echo $besked; haar jeg ikke nogen steder det her har jeg } else { $kon = $_REQUEST['kon']; $sender = $_REQUEST['sender']; $bruger = $_REQUEST['bruger']; $besked = $_REQUEST['besked']; $besked = nl2br($besked); $dato = date("Y-m-d"); $tid = date("H:i ");
Slettet bruger
10. juli 2005 - 19:07
#12
Hvis du ikke har echo $besked; eller lignende, jamen så outputter du ingenting. Og har derfor ikke noget problem ;) Hvordan outputter du de forskellige beskeder?
10. juli 2005 - 19:08
#13
hvordan jeg lægger det i data basen?
10. juli 2005 - 19:09
#14
$besked = str_replace(" "," ", nl2br(htmlentities(addslashes($besked)))); echo stripslashes($beske);
10. juli 2005 - 19:10
#15
skal jeg sætte den ind der hvor $besked = $_REQUEST['besked']; er ?
Slettet bruger
10. juli 2005 - 19:11
#16
Arh.. Hehe.. Du tilføjer jo <br />'erne FØR du laver en htmlentities().. (Og laver derefter nl2br() igen) Så slet $besked = nl2br($besked); fra } else { $kon = $_REQUEST['kon']; $sender = $_REQUEST['sender']; $bruger = $_REQUEST['bruger']; $besked = $_REQUEST['besked']; $besked = nl2br($besked); $dato = date("Y-m-d"); $tid = date("H:i ");
10. juli 2005 - 19:12
#17
Hvis det er mit kode du tænker på så skal du sætte den lige efter $besked = $_REQUEST['besked'];
Slettet bruger
10. juli 2005 - 19:13
#18
:s Jeg troede lige at saucers besked var fra dig, mr-xmas...
10. juli 2005 - 19:17
#19
gartzen den kode du sendte virkede heler ikke :( men du kan få hele koden der insætter hvis du gerne vil?
10. juli 2005 - 19:19
#20
mr-xmas >> Jeg bruger selv den kode som jeg har givet så den skulle virke. Præve den.
Slettet bruger
10. juli 2005 - 19:20
#21
mr-xmas -> Ja det ville gøre det meget nemmere! Både den hvor du indsætter i db'en og den hvor du henter+outputter..
10. juli 2005 - 19:22
#22
<?php require("connect.php"); $opret = $_REQUEST['opret']; if(empty($opret)) { print "Du skal skrive en besked før du sender :-)" ?> <?php } else { $kon = $_REQUEST['kon']; $sender = $_REQUEST['sender']; $bruger = $_REQUEST['bruger']; $besked = nl2br($besked); $besked = $_REQUEST['besked']; $besked = nl2br($besked); $dato = date("Y-m-d"); $tid = date("H:i "); if(empty($sender) OR empty($besked)) { echo 'Du skal skrive noget :-) ';} else { mysql_connect($mysql_host, $mysql_user, $mysql_pw); mysql_select_db($mysql_db); mysql_query("insert into gb (sender, bruger, besked, dato, tid, kon, opret) values ('$sender', '$bruger', '$besked', '$dato', '$tid', '$kon', '$opret')") or die(mysql_error()); print "Din besked er nu skrevet :-)"; ?>
10. juli 2005 - 19:24
#23
mr-xmas >> Du har 2 ganeg nl2br(): $besked = nl2br($besked); $besked = $_REQUEST['besked']; $besked = nl2br($besked) Prøve med denne kode : <?php require("connect.php"); $opret = $_REQUEST['opret']; if(empty($opret)) { print "Du skal skrive en besked før du sender :-)" ?> <?php } else { $kon = $_REQUEST['kon']; $sender = $_REQUEST['sender']; $bruger = $_REQUEST['bruger']; $besked = $_REQUEST['besked']; $besked = str_replace(" "," ", nl2br(htmlentities(addslashes($besked)))); $dato = date("Y-m-d"); $tid = date("H:i "); if(empty($sender) OR empty($besked)) { echo 'Du skal skrive noget :-) ';} else { mysql_connect($mysql_host, $mysql_user, $mysql_pw); mysql_select_db($mysql_db); mysql_query("insert into gb (sender, bruger, besked, dato, tid, kon, opret) values ('$sender', '$bruger', '$besked', '$dato', '$tid', '$kon', '$opret')") or die(mysql_error()); print "Din besked er nu skrevet :-)"; ?> Og så bruge : echo stripslashes($beske); til at udskrive med
10. juli 2005 - 19:31
#24
den virker heler ikk hmm kan det være fordi jeg har sat besked i min mysql forkert skal det være text eller longtext?
10. juli 2005 - 19:34
#25
er du sikker på at du bruger echo stripslashes($beske); til at udskrive med ??
10. juli 2005 - 19:35
#26
<table width="400" border="1" bgcolor="#FFFFFF" cellspacing="0" cellpadding="0" bordercolorlight="#C0C0C0" bordercolordark="#C0C0C0"> <tr> <th bgcolor="#CCCCCC"><div align="left"><?php echo("$dato"); ?> Kl. <?php echo("$tid"); ?> - <a href="?side=bruger/profil.php&id=<?php echo("$sender"); ?>"><?php echo("$sender"); ?></a></div></th> </tr> <tr> <td height="50" valign="top"><?php echo("$besked"); ?></td> </tr> </table>
10. juli 2005 - 19:37
#27
Tænke det nok :) <table width="400" border="1" bgcolor="#FFFFFF" cellspacing="0" cellpadding="0" bordercolorlight="#C0C0C0" bordercolordark="#C0C0C0"> <tr> <th bgcolor="#CCCCCC"><div align="left"><?php echo("$dato"); ?> Kl. <?php echo("$tid"); ?> - <a href="?side=bruger/profil.php&id=<?php echo("$sender"); ?>"><?php echo("$sender"); ?></a></div></th> </tr> <tr> <td height="50" valign="top"><?php echo stripslashes($beske); ?></td> </tr> </table>
10. juli 2005 - 19:37
#28
Nu laver du ikke noget sjov med variaber efter at du udskriver dem fra MySQL ?
10. juli 2005 - 19:43
#29
den skriver stadig bare <br /> istedet for at lave linie skift på siden
10. juli 2005 - 19:44
#30
må jeg lige se hvordan du trækker data ud af din SQL ?
10. juli 2005 - 19:45
#31
<?php
$resultat = mysql_query("SELECT * FROM gb WHERE bruger = '".$_GET['id']."' ORDER BY id DESC");
while ($rows = mysql_fetch_array($resultat)){
extract($rows);
$besked = $besked;
$besked = htmlentities($besked);
$besked = str_Replace(":)","<img src='smiley/glad.gif'>",$besked);
$besked = str_Replace(":-)","<img src='smiley/glad.gif'>",$besked);
$besked = preg_replace("/\[b\](.*)\[\/b\]/isU","<b>\\1</b>", $besked);
$besked = preg_replace("/(\s|\")?([a-z0-9][a-z0-9.-_]*[a-z0-9]@[a-z0-9]([a-z0-9.-]*[a-z0-9])?\.[a-z]{2,4})/i","\\1<a href=\"mailto:\\2\">\\2</a>",$besked);
$besked = preg_replace("/(\s)?((f|ht)tp:\/\/[a-z0-9]([a-z0-9.-]*[a-z0-9])?\.[a-z]{2,4}(\/?[^<>\s]*[^\s<>.,])?)/i","\\1<a href=\"\\2\">\\2</a>",$besked);
$besked = preg_replace("/(\s)(www\.[a-z0-9]([a-z0-9.-]*[a-z0-9])?\.[a-z]{2,4}(\/?[^<>\s]*[^\s<>.,])?)/i","\\1<a href=\"
http://\\2\">\\2</a>" ,$besked);
?>
10. juli 2005 - 19:48
#32
Prøv denne kode :
<?php
$resultat = mysql_query("SELECT * FROM gb WHERE bruger = '".$_GET['id']."' ORDER BY id DESC");
while ($rows = mysql_fetch_array($resultat)){
extract($rows);
$besked = $besked;
$besked = str_Replace(":)","<img src='smiley/glad.gif'>",$besked);
$besked = str_Replace(":-)","<img src='smiley/glad.gif'>",$besked);
$besked = preg_replace("/\[b\](.*)\[\/b\]/isU","<b>\\1</b>", $besked);
$besked = preg_replace("/(\s|\")?([a-z0-9][a-z0-9.-_]*[a-z0-9]@[a-z0-9]([a-z0-9.-]*[a-z0-9])?\.[a-z]{2,4})/i","\\1<a href=\"mailto:\\2\">\\2</a>",$besked);
$besked = preg_replace("/(\s)?((f|ht)tp:\/\/[a-z0-9]([a-z0-9.-]*[a-z0-9])?\.[a-z]{2,4}(\/?[^<>\s]*[^\s<>.,])?)/i","\\1<a href=\"\\2\">\\2</a>",$besked);
$besked = preg_replace("/(\s)(www\.[a-z0-9]([a-z0-9.-]*[a-z0-9])?\.[a-z]{2,4}(\/?[^<>\s]*[^\s<>.,])?)/i","\\1<a href=\"
http://\\2\">\\2</a>" ,$besked);
?>
10. juli 2005 - 19:51
#33
Ps. Damn, du roder meget i din kode. Hvad er pointen af lave ½ arbejde når du gemmer data og ½ når du udskriver ? Det smarteste ville være at gøre alt når du udskriver data. Altså bare gemme rå FORM imput i din SQL. Så kan du hele tiden selv rette i dine tekst formatering og tilføje ekstra tind som det passer dig. Det at du gøre ½ inden du gemmer gøre at du ikke længer vil kunne rette i disse indlæg hvis du laver om på dit script. Det eneste minus ved at gøre at formatering lige efter du udskriver er at det kan tage lidt lænegr tid. Men det er ikke noget man kan mærke.
10. juli 2005 - 19:53
#34
jamen så nu virker det :-)
10. juli 2005 - 19:55
#35
okay men point til dig
10. juli 2005 - 20:13
#36
Tak for points :) God arbejdsløst
Vi tilbyder markedets bedste kurser inden for webudvikling