Avatar billede mr-xmas Nybegynder
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);
Avatar billede saucer Nybegynder
10. juli 2005 - 18:47 #1
<br /> Er jo et linje skift.. <br> Er oldschool og bruges ikke mere.
Avatar billede mr-xmas Nybegynder
10. juli 2005 - 18:50 #2
hvorfor skrivver den så <br /> i beskeden i stedet for at lave en linie skift det er det jeg mener
Avatar billede 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);
Avatar billede mr-xmas Nybegynder
10. juli 2005 - 18:59 #4
du kan sende svar igen hvis du kan hjælpe mig vidre :)
Avatar billede 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()...
Avatar billede mr-xmas Nybegynder
10. juli 2005 - 19:00 #6
echo html_entity_decode($besked);
jeg forstår ikke hvor jeg skal sætte den ind :(
Avatar billede mr-xmas Nybegynder
10. juli 2005 - 19:01 #7
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 :(
Avatar billede Slettet bruger
10. juli 2005 - 19:01 #8
Det skal du gøre det sted hvor du lige nu har
echo $besked;
Avatar billede Slettet bruger
10. juli 2005 - 19:01 #9
Har du ikke et link til din side med problemet?
Avatar billede mr-xmas Nybegynder
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
Avatar billede mr-xmas Nybegynder
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 ");
Avatar billede 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?
Avatar billede mr-xmas Nybegynder
10. juli 2005 - 19:08 #13
hvordan jeg lægger det i data basen?
Avatar billede saucer Nybegynder
10. juli 2005 - 19:09 #14
$besked = str_replace("  "," &nbsp;", nl2br(htmlentities(addslashes($besked))));

echo stripslashes($beske);
Avatar billede mr-xmas Nybegynder
10. juli 2005 - 19:10 #15
skal jeg sætte den ind der hvor $besked = $_REQUEST['besked']; er ?
Avatar billede 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 ");
Avatar billede saucer Nybegynder
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'];
Avatar billede Slettet bruger
10. juli 2005 - 19:13 #18
:s

Jeg troede lige at saucers besked var fra dig, mr-xmas...
Avatar billede mr-xmas Nybegynder
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?
Avatar billede saucer Nybegynder
10. juli 2005 - 19:19 #20
mr-xmas >> Jeg bruger selv den kode som jeg har givet så den skulle virke. Præve den.
Avatar billede 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..
Avatar billede mr-xmas Nybegynder
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 :-)";
?>
Avatar billede saucer Nybegynder
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("  "," &nbsp;", 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
Avatar billede mr-xmas Nybegynder
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?
Avatar billede saucer Nybegynder
10. juli 2005 - 19:34 #25
er du sikker på at du bruger echo stripslashes($beske); til at udskrive med ??
Avatar billede mr-xmas Nybegynder
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>
Avatar billede saucer Nybegynder
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>
Avatar billede saucer Nybegynder
10. juli 2005 - 19:37 #28
Nu laver du ikke noget sjov med variaber efter at du udskriver dem fra MySQL ?
Avatar billede mr-xmas Nybegynder
10. juli 2005 - 19:43 #29
den skriver stadig bare <br /> istedet for at lave linie skift på siden
Avatar billede saucer Nybegynder
10. juli 2005 - 19:44 #30
må jeg lige se hvordan du trækker data ud af din SQL ?
Avatar billede mr-xmas Nybegynder
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);
?>
Avatar billede saucer Nybegynder
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);
?>
Avatar billede saucer Nybegynder
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.
Avatar billede mr-xmas Nybegynder
10. juli 2005 - 19:53 #34
jamen så nu virker det :-)
Avatar billede mr-xmas Nybegynder
10. juli 2005 - 19:55 #35
okay men point til dig
Avatar billede saucer Nybegynder
10. juli 2005 - 20:13 #36
Tak for points :)

God arbejdsløst
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester