Avatar billede hist Praktikant
06. september 2015 - 12:20 Der er 4 kommentarer og
1 løsning

overlib ? mangler et , eller noget

Hvad er fejen i den her ? kan sku ikke lige se den

<img src="/images/camera.jpg" width="14" height="10" align="bottom" onmouseover="return overlib(\'<table width="85" border="1" cellpadding="5" cellspacing="0" bordercolor="#000000"><tr><td background="/images/bgdot_25.jpg"><table width="75" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td><img src="'.$siteurl.'profilbilleder/thumb/'.$row["billede"].'" width="75"></td></tr></table></td></tr></table>\', FULLHTML)\' onmouseout=\'return nd();\'>
Avatar billede moddi100 Seniormester
06. september 2015 - 12:35 #1
Hvis du nu skriver hele linjen fra php - altså også dit kald til echo(), er det nemmere at fejlfinde.

Derudover har du fejlen i din tabel. Betragt koden herunder:

onmouseover="return overlib(\'<table width="85"\')"


Da du ikke har escapet "-tegnene ved with="85", opfattes din html helt forkert. F.eks. bliver onmouseover i ovenstående eksempel til:
onmouseover="return overlib\'table width="


Resten af din tabel, som du prøver at tegne, forsvinder altså og ødelægger HTML-en på resten af siden - eller i dette tilfælde får det nok PHP til at give en fejl.

En alternativ løsning, som tit kan gøre det lidt nemmere, er at rykke sådanne funktioner ud af img-tagget og ind i en separat funktion. Så behøver du heller ikke tænke nær så meget over escaping:

<?php

// Noget kode her, hvorefter vi hopper ud af PHP og udskriver direkte
?>
<script type="text/javascript">
function overlib_wrapper()
{
    return overlib('<table width="85" border="1" cellpadding="5" cellspacing="0" bordercolor="#000000"><tr><td background="/images/bgdot_25.jpg"><table width="75" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td><img src="<?php echo $siteurl; ?>profilbilleder/thumb/<?php echo $row["billede"]; ?>" width="75"></td></tr></table></td></tr></table>', 'FULLHTML');
}
</script>

<img src="/images/camera.jpg" width="14" height="10" align="bottom" onmouseover="return overlib_wrapper()" onmouseout="return nd()">
>
Avatar billede hist Praktikant
06. september 2015 - 13:43 #2
tak moddi100
Jeg forstod ikke helt det du forklaret i det første,så brugt dit forslag men den laver en al for bred ramme i forhold til billede, og har rette i width uden held
Avatar billede moddi100 Seniormester
06. september 2015 - 14:00 #3
Blot du bruger den anden del, så du får adskilt det lidt, så er du kommet langt.

Generelt så bør width, height og border altid sættes via:
<table cellpadding="5" cellspacing="0" style="width: 85px; border: 1px solid #000000;">


cellspacing og cellpadding skal ikke ind i style="" attributten, men resten skal altså. Så vil du også opleve at det begynder at gøre en forskel.

Ellers så post din kode på www.pastebin.com, ellers skal vi jo gætte os til hvordan alt ser ud.
Avatar billede hist Praktikant
13. september 2015 - 15:38 #4
cool tak :D
kommer du med et svar
Avatar billede moddi100 Seniormester
13. september 2015 - 19:01 #5
Værsgo :)
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