Avatar billede udvikler Nybegynder
26. september 2005 - 21:27 Der er 9 kommentarer og
1 løsning

Forum skal ikke kunne forstå kode - hverken html, php eller andet

Hejsa

Jeg ville bare lige høre hvordan man med en php kode kan gøre sådan så hvis man skriver html, css, php, asp, javascript.... Ja, kort sagt alt slags kode, skal det udskrives som almindelige bogstaver i mit forum. Jeg har kigget lidt på dette: http://dk.php.net/manual/da/function.htmlentities.php men forstår intet :(
Avatar billede jakobdo Ekspert
26. september 2005 - 21:29 #1
Virker htmlentities ikke for dig?
Det burde det!
Tror ikke strip_tags() vil virke på alle de tag du nævner!
Avatar billede terrak Nybegynder
26. september 2005 - 21:33 #2
$besked = "Ond kode med tags samt enkelte- og dobbelte citationstegn";
$besked = htmlentities($besked);

echo $besked;
->
Ond kode med hverken tags eller enkelte- og dobbelte citationstegn.

Hvilken del forstår du ikke?
Avatar billede udvikler Nybegynder
26. september 2005 - 21:39 #3
Jamen, det er ikke at det ikke virker for mig, forstår det bare ikke. Ved ikke hvad de mener eller hvordan det sættes sammen. Det jeg søger er en kode til hvordan jeg gør og en forklaring. :)
Avatar billede terrak Nybegynder
26. september 2005 - 22:08 #4
(NOTE: For lige at være sikker på at eksperten ikke konverterer mine tegn, har jeg skrevet nogle sætninger to gange)

Hvis din variabel med tekst hedder $besked, så kører du bare htmlentities($besked);

Det funktionen gør, er eksempelvis at konvertere < til &lt; og > til &gt;.
Det funktionen gør, er eksempelvis at konvertere < til &amp;lt; og > til &amp;gt;.

Eksempel:

$besked = "<script>";
$besked = htmlentities($besked);

Variablen $besked indeholder nu "&lt;script&gt;", hvilket vises som "<script>" i browseren.
Variablen $besked indeholder nu "&amp;lt;script&amp;gt;", hvilket vises som "<script>" i browseren.

Hvis du stadig ikke forstår det, så smid lidt kode her ind.
Avatar billede terrak Nybegynder
26. september 2005 - 22:10 #5
Og et lille tip: "lt" i tegnkoden &lt; står for Less Than, altså mindre end, hvilket har tegnet "<".
"gt" i &gt; står for Greater Than, altså større end, hvilket har tegnet ">".

Det er en god ting at huske :)
Avatar billede udvikler Nybegynder
26. september 2005 - 22:14 #6
Tusinde tak, nu forstår jeg det lidt..
Men når det er indsat kan man ikke bruge javascript, da man bruge <script> for at kunne vise javascript. Men man kan da stadig bruge html, php og alt det andet ?
Ret mig hvis jeg tager fejl :)
Avatar billede terrak Nybegynder
26. september 2005 - 22:26 #7
Nej du kan ikke. Se her:

<script type="text/javascript">
document.location.href="http://www.ondside.dk";
</script>
<?php
for($i = 1; $i > 0; $i++) {
echo "die2u<br />";
}
?>

Hvorfor bliver besøgende til denne side ikke omdirigeret til det onde site, samt bliver fanget i det onde endeløse loop?
..fordi eksperten bruger lignende funktion til at omskrive brugerinput. Tag evt. et kig i kilden til denne side. Der vil stå en masse &lt;'er, &gt;'er og &quot;'er :)
Avatar billede udvikler Nybegynder
26. september 2005 - 22:31 #8
Nu mangler du kun at fortælle mig hvor og i hvilken fil jeg skal indsætte koden, også vil dit svar være accepteret ;)

Har følgene filer:

index.php -> siden hvor alle overskrifter bliver vist
laes.php?id=x  -> siden man bliver henvist til når man klikker på en besked
opret.php -> siden man opretter indlæg på
mysql.php -> filen der indenholder database login
Avatar billede udvikler Nybegynder
26. september 2005 - 22:56 #9
Jeg fandt ud af det, og nu virker det!
Jeg takker mange mange gange for hjælpen. Du kan selv se resultatet her: www.fora.frac.dk
Avatar billede terrak Nybegynder
27. september 2005 - 07:27 #10
Du mangler lige at bruge htmlentities på din overskrift :)
Husk at al brugerinput skal valideres. Eksempel:

Du har en form. I den form har du et textinput, hvor man skal skrive et link til sin hjemmeside. Når man har indsat en besked, er PHP sat til at generere et link, som bliver åbnet i en ny side:
echo "<a href='$homepage' target='_blank'>Hjemmeside</a>";

Hvordan kommer linket til at se ud, hvis en bruger indtaster:
#'></a><script type='text/javascript'>for (i = 1; i > 0; i++) { alert('Ha!'); }</script><a href='#

Det bliver et slemt resultat:
<a href='#'></a>
<script type='text/javascript'>for (i = 1; i > 0; i++) { alert('Ha!'); }</script>
<a href='#' target='_blank'>Hjemmeside</a>
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