Avatar billede oldschool Nybegynder
01. december 2005 - 01:52 Der er 10 kommentarer og
1 løsning

html tags i php/sql

Hola

Hvis jeg sender noget tekst ind i en db, og gerne vil have det kommer ud via php med <br> og <h1> osv, kan det så lade sig gøre?

Håber i forstår hvad jeg mener?

Oldschool
Avatar billede dustie Mester
01. december 2005 - 02:32 #1
Det ser mig lidt kryptisk ud det du skrev :)
Kan du ikke forklare det lidt bedre?
Avatar billede oldschool Nybegynder
01. december 2005 - 02:35 #2
Jo da

Jeg har lavet et lille meget simpelt cms. Når så man indtaster tekst som bliver gemt via php i en sql base skal det være sådan, at når man skriver teksten ind, kan man skrive <h1> <br> osv for på den måde at styre teksten når den bliver hevet ud igen via php.
Problemet er så bare, at den side den bliver hevet ud på ikke opfatter html tagsne som html tags, men istedet skriver <h1> <br> osv

Var det lidt mindre kryptisk? ;o)
Avatar billede oldschool Nybegynder
01. december 2005 - 02:37 #3
En af pointerne er især at teksten skal brydes op, så al tekst under et bestemt punkt ikke står i en tæt nærmest ulæselig smøre...
Avatar billede dustie Mester
01. december 2005 - 07:48 #4
Der står <h1> på siden istedet for i selve koden?
Så der står &lt;h1&gt; i koden?

Så er det den her du skal have fat i: http://php.net/html-entity-decode
Avatar billede oldschool Nybegynder
01. december 2005 - 10:28 #5
Isteet for at lave en overskrift der hvor man skriver <h1></h1> skriver den bare <h1>overskrift</h1> altså helt uden at reagere på html tagsne...

Det er første gang jeg rører ved php, så er ikke helt skarp. Hvor skal jeg indsætte kode fra dit link?

Php som skriver indhold:
<?php if (isset($_POST['header'])):

include 'ps.inc.php';

  $header = $_POST['header'];
  $teaser = $_POST['teaser'];
  $text = $_POST['text'];
  $sql = "INSERT INTO samtaleterapi SET
      header='$header',
      teaser='$teaser',
      text='$text'";
  if (@mysql_query($sql)) {
    echo '<p>Ny underkategori tilføjet</p>';
  } else {
    echo '<p>Kunne ikke tilføje ny underkategori: ' .
        mysql_error() . '</p>';
}

?>

Php som viser indhold:

<?php

include 'ps.inc.php';



if(isset($_GET['samtaleterapi_id']) && is_numeric($_GET['samtaleterapi_id'])) {
  $query = mysql_query("SELECT * FROM samtaleterapi WHERE samtaleterapi_id = ".$_GET['samtaleterapi_id']) or die(mysql_error());
  while($row = mysql_fetch_assoc($query)) {
    $samtaleterapi_id = $row['samtaleterapi_id'];
    $header = htmlspecialchars($row['header']);
    $text = htmlspecialchars($row['text']);
            echo "<h1>$header</h1><br> ".
            "$text<br><br>";
           
  }
} else {
  echo "Kunne ikke hente teksten...";
}

?>
Avatar billede oldschool Nybegynder
01. december 2005 - 11:29 #6
Altså for at forklare mig måske lidt bedre, er problemstillinger. Brugeren indtaster en artikkel. Vedkommende skal have mulighed for at bruge html tags. Så han kan lave linjeskift overskrift osv i selve teksten. Men hvis man i mit lille cms skriver en html kode virker det ikke. Det eneste der kommer ud af det når man læser artiklen på hjemmesiden er at læseren kan læse alle de html tags som brugeren har indtastet...

Håber det hjalp;o)
Avatar billede dustie Mester
01. december 2005 - 11:33 #7
Prøv at ændre de to linier her:
$header = htmlspecialchars($row['header']);
$text = htmlspecialchars($row['text']);

til:
$header = $row['header'];
$text = $row['text'];
Avatar billede dustie Mester
01. december 2005 - 11:34 #8
Du kan læse hvad htmlspecialchars helt præcist gør her: http://dk2.php.net/htmlspecialchars
Avatar billede dustie Mester
01. december 2005 - 11:42 #9
Det er også en god idé kun at hive de ting ud af databasen som du skal bruge.
Så istedet for "SELECT * FROM samtaleterapi" kunne du evt. bruge "SELECT samtaleterapi_id, header, text FROM samtaleterapi" istedet.
Avatar billede oldschool Nybegynder
01. december 2005 - 12:15 #10
Yes sir, tak skal du have:o)

Er ny i php og sidder med en  bog, så htmlspecialchars har jeg bare brugt fordi manden i bogen gjorde det.

Men mange mange tak, funger 100%! Smid et svar
Avatar billede dustie Mester
02. december 2005 - 10:25 #11
Det var så lidt :)

Held og lykke med det.
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