Avatar billede sungdk Nybegynder
19. maj 2004 - 21:35 Der er 3 kommentarer og
1 løsning

Få udskrevet tegn rigtigt

Hej!

Jeg har dette stykke kode:
    function InsertImage(ImageFile) {
        if (ImageFile == "NoFile") {
            ImageFile = window.prompt("Eksempel på billede udefra: http://www.domæne.dk/billede.jpg\nEksempel på uploaded billede: ./artikel-images/billede.jpg","");
        }
        if (ImageFile == "" || ImageFile == "") {
            alert("Du har ikke specificeret nogen billed fil!");
        } else {
            FileName = ImageFile.toLowerCase();
            if (FileName.indexOf(".jpg") <= 0 && FileName.indexOf(".gif") <= 0) {
                alert("Du har angivet en forkert type billedfil. Tillader kun filer der ender på JPG og GIF!")
            } else {   
                document.artikel.tekst.value = document.artikel.tekst.value + "<img src='" + ImageFile + "' border='0'>";
            }
        }
    }

Når jeg så har gemt min formel. Så kommer disse tegn frem, og derfor viser den ikke billedet:

<img src=\'billede.jpg\' border=\'0\'> (taget fra kildekoden)

Hvordan kan jeg få den til at udskrive:

<img src="billede.jpg" border="0">

På forhånd tak :D
Avatar billede skovenborg Nybegynder
19. maj 2004 - 21:47 #1
jeg kan ikke selv umiddelbart genskabe fejlen (ved heller ikke præcis hvordan du kalder funktionen), men du kan jo prøve at skrive:
document.artikel.tekst.value = document.artikel.tekst.value + "<img src=\"" + ImageFile + "\" border=\"0\">";
Avatar billede olebole Juniormester
19. maj 2004 - 23:37 #2
<ole>

Jeg går udfra, du mener, når navnet er gemt på serveren ... mit gæt i noget MySQL via PHP. Det sker, fordi du ikke må have enkelt apostroffer 'liggende og flyde rundt' i PHP-koden og ikke mindst kan de være helt fatale i forbindelse med MySQL.

Da du ikke selv tager højde for farlige tegn 'tørrer sproget r.. på dig' og escape'er din apostroffer  ;o)
Du fjerner dine back-slashes med 'stripslashes()' (forudsat, jeg har ret i, du skriver i PHP):
$str = "<img src=\'billede.jpg\' border=\'0\'>"; // Streng fra DB
print stripslashes( $str );

I øvrigt bør du (næsten) altid escape brugerinput med 'addslashes()', inden du anvender det i forbindelse med MySQL. Gør du det ikke, kan man som bruger - f.eks. med en update - slette hele den tabel, du prøver at opdatere  :)
/mvh
</bole>
Avatar billede sungdk Nybegynder
20. maj 2004 - 01:45 #3
Tak ole!

Lav lige et svar :D
Avatar billede sungdk Nybegynder
02. juni 2004 - 20:46 #4
Lukkes så
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