Avatar billede peterkopi Nybegynder
31. august 2004 - 01:27 Der er 30 kommentarer og
1 løsning

HTTP 500 - Intern serverfejl ved åbning af billede

Jeg får en HTTP 500 - Intern serverfejl ved klik på thumbs i galleri som jeg ikke selv kan løse.

Siden der åbnes ved klik på en thumb hedder showimg.asp og har dette indhold:

<!-- #include file="connect.asp" -->

<%
Set data = Server.CreateObject ("ADODB.Recordset")
data.Open "select * from Images", MyConn
%>
<html>

<head>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<!-- Minus AutoDato -->
<title>showimg.asp</title>
</head>

<body topmargin=0 leftmargin=0 marginheight=0 marginwidth=0>

<%
Response.Write "<img src="images/galleri/<%=RS(8)"%>" <%RS(6)%> <%RS(7)%> <" border=0 width=" & RS(1) & "height=" & RS(2) & ">"

MyConn.Close
Set MyConn = Nothing
%>

</body>
</html>

Databasen hedder galleri.mdb - det er ok.
Tabellen i databasen hedder Images.

Kolonnerne i tabellen hedder:
0 - ID
1 - Height (gif størrelse!)
2 - Width  -do-
3 - Pris
4 - cmHoej  (originalbilledets/lærredets størrelse)
5 - cmBred  -do-
6 - Titel
7 - Beskrivelse
8 - Images (URL til billeder i images/galleri/)

Problemet er også nævnt i spm http://www.eksperten.dk/spm/533513
Avatar billede peterkopi Nybegynder
31. august 2004 - 01:32 #1
URL: http://www.anne-egelund.dk/galleri.asp

Sidens filnavn er ændret fra /default.asp til /galleri.asp, så sidens gæster kan se indholdet på http://www.anne-egelund.dk/ mens arbejdet står på.
Avatar billede sukos Juniormester
31. august 2004 - 03:26 #2
Kender ikke asp, men er det ikke fordi du har et " i denne?
<%=RS(8)"%>
Altså skal være
<%=RS(8)%>
Avatar billede skau Nybegynder
31. august 2004 - 07:51 #3
Aner intet om asp men hvad med
Response.Write "<img src="images/galleri/" & <%=RS(8)%> <%RS(6)%> <%RS(7)%> & " border=0 width=" & RS(1) & "height=" & RS(2) & ">"
Avatar billede fennec Nybegynder
31. august 2004 - 08:29 #4
Der er flere problemer med linjen...

Response.Write "<img src=""images/galleri/"& RS(8) &""" border=""0"" width=""" & RS(1) & """ height=""" & RS(2) & """>"

Denne burde virke. Jeg ved så ikke helt hvad du vil med RS(6) og RS(7). Vil du have dem på billed som en popup (alt="" eller title="") eller er det tekst der skal stå andet sted på siden....
Avatar billede diggerx Nybegynder
31. august 2004 - 08:37 #5
Du blander to stilarter sammen

Den ene er at man skriver alm html kode og indsætter database opslagene med <% = rs("etellerandet") %>

den anden er at man skriver alt ud med response.write. Hvis du vælger den skal hu sætte databsefelter ind med width="" & RS(1) & "" height="" & RS(2) & "">. Bemærk at der skal vær dobbelt citationstegn. ellers opfattes de som en afslutning af tekststrengen.

Den nemmeste løsning er:

<img src="images/galleri/<%=RS(8)"%>" <% =RS(6)%> <%= RS(7)%> <" border=0 width="<%= RS(1) %>"height="<%= RS(2) %>">
<%
MyConn.Close
Set MyConn = Nothing
%>

sæt i øvrigt din browser så du får rigtige fejlmeddelser. gå ind i internet indstillinger under avanceret og slå "vis meddelser om uskadelige HTTP fejl" fra
Avatar billede peterkopi Nybegynder
31. august 2004 - 09:27 #6
sukos og skau:
Desværre er der ingen af jeres forslag, der afhjælper fejlen!

fennec:
Din løsning får pop-up'en op i den rigtige størrelse med teksten:

' Response.Write ""

diggerx:
Din løsning får også pop-up'en op i den rigtige størrelse men med fejlmeddelelsen:

Microsoft VBScript compilation error '800a0409'

Unterminated string constant

/showimg.asp, line 23

Response.Write(RS(8)")
----------------------^
Avatar billede diggerx Nybegynder
31. august 2004 - 09:30 #7
fjern citationstegnet RS(8)%
Avatar billede peterkopi Nybegynder
31. august 2004 - 09:42 #8
undskyld, fennec. Jeg glemte <% og %>. Nu popper det samme billede op uanset, hvilken af thumbs'ene jeg klikker på. Der må være noget med den dersens (ID)...
Avatar billede fennec Nybegynder
31. august 2004 - 09:44 #9
data.Open "select * from Images where id="& request.querystring("id"), MyConn
Avatar billede skau Nybegynder
31. august 2004 - 09:44 #10
Sorry jeg blandede mig - ved intet om ASP
Avatar billede peterkopi Nybegynder
31. august 2004 - 09:46 #11
Og tak, diggerx. Jeg har fjernet ", og får stadig, ligesom i fennecs sidste, det samme billede op uanset, hvilken af thumbs'ene jeg klikker på. Der må være noget med den dersens (ID) som novicen her ikke kan se...
Avatar billede diggerx Nybegynder
31. august 2004 - 09:49 #12
du skal loope igennen databasen

do while  not rs.eof

indsæt fennecs sætning her

rs.movenext
loop
Avatar billede peterkopi Nybegynder
31. august 2004 - 09:50 #13
ID'en i javascriptet skifter i hvert fald fra thumb til thumb. Der står altid et unikt tal for billedet i id=ID --> java script:displayWindow('showimg.asp?id=3',697,375)
Avatar billede peterkopi Nybegynder
31. august 2004 - 09:51 #14
okay skau *S*

Prøver lige diggerx
Avatar billede peterkopi Nybegynder
31. august 2004 - 09:55 #15
fennec ad 31/08-2004 08:29:41

RS(6) som er "Titel" og RS(7) som er "Beskrivelse" skal stå centreret neden under. Men det skal sættes op i en tabel à la http://www.anne-egelund.dk/popup.htm
Avatar billede fennec Nybegynder
31. august 2004 - 10:00 #16
se lige min post "31/08-2004 09:44:33".
Så vælger du den rigtige post fra databasen uden at skulle til at loope igennem.
Avatar billede peterkopi Nybegynder
31. august 2004 - 10:01 #17
diggerx:

Indsættelse af loopet ændrer desværre ikke ved resultatet fra 09:46:31

Koden ser sådan ud nu:

<% do while  not rs.eof
Response.Write "<img src=""images/galleri/"& RS(8) &""" border=""0"" width=""" & RS(1) & """ height=""" & RS(2) & """>"
rs.movenext
loop %>
<%
MyConn.Close
Set MyConn = Nothing
%>
</body>
</html>
Avatar billede peterkopi Nybegynder
31. august 2004 - 10:05 #18
fennec ad 10:00:27

Skal jeg udskifte linjerne 7-10 (lige før <html>)

<%
strSQL = "Select * From Images"
Set RS = MyConn.Execute(strSQL)
%>

med

data.Open "select * from Images where id="& request.querystring("id"), MyConn

???
Avatar billede fennec Nybegynder
31. august 2004 - 10:09 #19
<%
strSQL = "Select * From Images"
Set RS = MyConn.Execute(strSQL)
%>

skal være:
<%
strSQL = "Select * From Images where id="& request.querystring("ID")
Set RS = MyConn.Execute(strSQL)
%>

Du havde åbentbart lavet lidt om på din connection type, fra det der stod i koden øverst.

...og dette burde lave en tabel under med info. Nu passer størrelsen på winduet sikkert ikke længere, så den skal du have sat lidt op....

<%
Response.Write "<img src=""images/galleri/"& RS(8) &""" border=""0"" width=""" & RS(1) & """ height=""" & RS(2) & """>"
Response.Write "<table>"
Response.write "<tr><td colspan=""2"">"& RS(6) &"</td></tr>"
Response.write "<tr><td colspan=""2"">"& RS(7) &"</td></tr>"
Response.Write "<tr><td>Brede:</td><td>"& RS(2) &"</td></tr>"
Response.Write "<tr><td>Højde:</td><td>"& RS(1) &"</td></tr>"
Response.Write "<tr><td>Pris:</td><td>"& RS(3) &"</td></tr>"
Response.write "</table>"
%>
Avatar billede peterkopi Nybegynder
31. august 2004 - 10:53 #20
Du er jo ikke bare fantastisk, du er helt vildt fantastisk god til det her ASP, fennec!
Jeg har tilføjet

<%
strSQL = "Select * From Images where id="& request.querystring("ID")
Set RS = MyConn.Execute(strSQL)
%>

i toppen af showimg.asp

Men desværre kommer intet let til den dumme... Først lagde jeg din tabel ud, det virkede (selvfølgelig!) Så rettede og tilføjede jeg - og det giver mig et par problemer:

1) Serveren kan ikke findes efter jeg har taget tabellen og tilføjet nogle celler og noget <font>:

<%
RESPONSE.WRITE "<img src=""images/galleri/"& RS(8) &""" border=""0"" width=""" & RS(1) & """ height=""" & RS(2) & """>"
Response.Write "<TABLE><FONT SIZE=""1"" FACE=""VERDANA"">"
Response.write "<TR><TD><B>Titel:</B></TD><TD COLSPAN=""2"">"& RS(6) &"</TD></TR>"
Response.write "<TR><TD><B>Beskrivelse</B></TD><TD COLSPAN=""2"">"& RS(7) &"</TD></TR>"
Response.Write "<TR><TD><B>Bredde:</B></TD><TD>"& RS(2) &"</TD></TR>"
Response.Write "<TR><TD><B>Højde:</B></TD><TD>"& RS(1) &"</TD></TR>"
Response.Write "<TR><TD><B>Pris:</B></TD><TD>"& RS(3) &"</TD></TR>"
Response.write "</TABLE></FONT>"
%>
<%
MYCONN.CLOSE
SET MYCONN = NOTHING
%>
</BODY>
</HTML>

2) Pop-up størrelse bliver jo defineret ved en forespørgsel til tabellen Images i galleri.mdb til kolonne 1 og 2 som indeholder height/width på de jpg'er der ligger i mappen images/galleri/ --> fx.: java script:displayWindow('showimg.asp?id=3',697,375)

Og lige da jeg havde lagt din tabel op, inden min destruktive tilføjelser, kom billederne i pop'up'en ved klik på thumb op med den samme billedstørrelse men med forskellig vinduesstørrelse. Altså vinduet har umiddelbart den størrelse det skal have, men billederne har nøjagtig samme størrelse?!?!
Avatar billede peterkopi Nybegynder
31. august 2004 - 11:00 #21
Da min kæreste - ja, det er hende der maler billederne - gerne vil have, at pop-up'en altid har den samme størrelse og med rigelig plads rundt om, skal Pop-up størrelse defineres på en anden måde.

Billederne skal vel bare have den samme, relative størrelse så Pop-up størrelsen er den samme hele vejen igennem.
Jeg har også et script liggende til at skifte baggrundsfarve (væg!), og det kræver jo i hvert fald min. 100 px hele vejen rundt om billedet, hvis det skal virke nogenlunde harmonisk.
Avatar billede peterkopi Nybegynder
31. august 2004 - 11:03 #22
ad 10:53:57

Dummedrengen havde gemt showimg.asp i en forkert mappe. Det virks næsten, lige pånær ovenst. problem med vinduesstørrelsen og fonten, der ikke vises som Verdana i size 1!
Avatar billede fennec Nybegynder
31. august 2004 - 11:22 #23
Når du oprette vinduet, angiver du jo størrelsen på den. I øjeblikket bliver den hentet fra databasen så den passer med billedet. Du kan så enten selv angive en fast størrelse, eller du kan lægge lidt til den.
fast størrelse:
<A HREF="java script:displayWindow('showimg.asp?id=<%=RS("ID")%>',500,600)">

Dynamisk størrelse + lidt ekstra:
<A HREF="java script:displayWindow('showimg.asp?id=<%=RS("ID")%>+100',<%=RS("Width")%>,<%=RS("Height")%>+200)">

Jeg vil desuden anbefale at du ikke bruger font taget men style i stedet. Det gør det nemmere at ændre udseende på siderne senere.

<head>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<!-- Minus AutoDato -->
<title>showimg.asp</title>
<style>
.MinTekst{
  font-family : Verdana;
  font-size : 10 px;
}
.MinFed{
  font-family : Verdana;
  font-size : 10 px;
  font-weight : bold;
}
</style>
</head>
...
...
Response.write "<TR><TD class=""MinFed"">Titel:</TD><TD COLSPAN=""2"" Class=""MinTekst"">"& RS(6) &"</TD></TR>"
...


Jeg hat tilføjet et <style> tag i head'en. Det kunne også være et CSS dokument, men det kan du lære om senere. Alle de elementer (beføver ikke være td'er) som får klassen "MinFed" bliver nu formateret efter den.
Avatar billede peterkopi Nybegynder
31. august 2004 - 11:35 #24
Nu har jeg sat denne ind i galleri.asp:

<A HREF="java script:displayWindow('showimg.asp?id=<%=RS("ID")%>+100',<%=RS("Width")%>,<%=RS("Height")%>+200)">

Først fik jeg en fejl, der henviser til appostrofen lige efter +100' - og nu hører jeg blot et klik, ingen Pop-up!
Lige nu gerneres der er et link à la:

java script:displayWindow('showimg.asp?id=3,697+100,375+200)
Avatar billede peterkopi Nybegynder
31. august 2004 - 11:43 #25
Det var apostroffen i
<A HREF="java script:displayWindow('showimg.asp?id=<%=RS("ID")%>+100',<%=RS("Width")%>,<%=RS("Height")%>+200)">
der skulle flyttes hen foran +-tegnet!

Til gengæld får jeg nu en fejl:

error '80020009'
Exception occurred.

/showimg.asp, line 26


Linje 26:
Response.Write "<img src=""images/galleri/"& RS(8) &""" border=""1"" width=""" & RS(2) & """ height=""" & RS(1) & """>"
Avatar billede fennec Nybegynder
31. august 2004 - 12:11 #26
Det er min fejl. Den ekstra størrelse skal jo lægges til breden og ikke id'et :o)

<A HREF="java script:displayWindow('showimg.asp?id=<%=RS("ID")%>',<%=RS("Width")%>+100,<%=RS("Height")%>+200)">
Avatar billede peterkopi Nybegynder
31. august 2004 - 12:17 #27
Så godt som løst! Det var tillægget på de 100px der stod forkert i linjen. Det skulle blot flyttes om bag "Width", altså ... <%=RS("Width")%>+100, ...
Avatar billede peterkopi Nybegynder
31. august 2004 - 12:29 #28
Jeg vil gerne have et "Lukke-tag" ind over billedet i showimg.asp, altså fx
<a href="java script:window.close()">"<img src="" o.s.v.</a>
Hvor meget skal sådan et javascript "pakkes ind" i citationstegn for at det virker?
Avatar billede fennec Nybegynder
31. august 2004 - 12:43 #29
Det er bedre at bruge onClick event'en.

RESPONSE.WRITE "<a href=""#"" onClick=""window.close()""><img src=""images/galleri/"& RS(8) &""" border=""0"" width=""" & RS(1) & """ height=""" & RS(2) & """></a>"

Kan også bare smides på billedet:
RESPONSE.WRITE "<img src=""images/galleri/"& RS(8) &""" border=""0"" width=""" & RS(1) & """ height=""" & RS(2) & """ onClick=""window.close()"">"
Avatar billede peterkopi Nybegynder
31. august 2004 - 12:55 #30
Jamen, tak skal lyde i hæse strofer til både fennec og diggerx. Lægger I et svar?

Håber min microsangerhjerne kan finde ud af resten selv...

fennec: Mit indlæg 12:17:38 skrev jeg uden at have set dit 12:11:15! Sådan kan det jo gå, når man prøver sig frem mens man er i gang med en kommentar...
Avatar billede fennec Nybegynder
31. august 2004 - 13:04 #31
Hvis der bliver noget, skal du bare sige til....
Jeg har da også helt glemt at sende de billeder til dig fra sidste års Skanderborg Festival. Desværre så jeg jer ikke i år, da jeg var på bøgescenen. Men I lavede vel et fedt show igen i år....
.o) <-- One Eyed Jack
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
Kurser inden for grundlæggende programmering

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