Avatar billede killer_r Nybegynder
05. juni 2002 - 21:30 Der er 14 kommentarer og
1 løsning

Adgang nægtet

Jeg har det mest syrede problem.
Jeg har et billedgalleri hvor man klikker på en thump og så åbner billedet i stort i en popup.
Men en gang imellem vil den ikke åbne popupen og man får en "error on page":

Linje: 203
Tegn: 2
Fejl: Adgang nægtet
Kode: 0

Det ser ud til at problemet kun kommer hvis man først har surfet rundt på nogle af de andre sider og derefter gået ind i galleriet...
Hvad skal jeg gøre???
Avatar billede atn Nybegynder
05. juni 2002 - 21:35 #1
Heysa !

Tja...hvis vi kunne se kode ville det hjælpe lidt på'ed...

Venligst

<ATN/>
Avatar billede killer_r Nybegynder
05. juni 2002 - 21:47 #2
Det er en ordenlig lang og rodet smørre, men det må i da godt!!!

Siden kalden med Open.asp?mappe=mappen_med_billedfilerne

********************************************************************
<%
if Request.QueryString("mappe") = "" then response.redirect("../Galleri.asp") end if

'------------------------------------------------
'henter info om siden
'------------------------------------------------
page = trim(Request.QueryString("page"))
if page = "" then page = 1 end if
start = trim(Request.QueryString("start"))
if start = "" then start = 1

'------------------------------------------------
'Åbner Filsystem
'------------------------------------------------
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(Server.MapPath(Request.ServerVariables("PATH_INFO")))
Set objFolder = objFSO.GetFolder(objFile.parentfolder & "/" & Request.QueryString("mappe"))
Set objFolderContents = objFolder.Files
folder = objFolder.Name

'------------------------------------------------
'grund variabler
'------------------------------------------------
row_count = 0
row = 1
max_row = 2
count = 1

'------------------------------------------------
'Info variabler
'------------------------------------------------

info_page = 0
info_page_count = 0
info_Count = 0

'------------------------------------------------
'Billede funktioner
'------------------------------------------------

' Dette er funktionerne
Dim Size

Function AscAt(s, n)
    AscAt = Asc(Mid(s, n, 1))
End Function

Function HexAt(s, n)
    Dim lsH
    lsH = Hex(AscAt(s, n))
    If Len(lsH) <> 2 Then lsH = "0" & lsH
    HexAt = lsH
End Function

Function isJPG(filen)
    If inStr(uCase(filen), ".JPG") <> 0 Or inStr(uCase(filen), ".JPEG") <> 0 Then
        isJPG = true
    Else
        isJPG = false
    End If
End Function

Function isWebImg(f)
    If isGIF(f) Or isJPG(f) Or isPNG(f) Or isBMP(f) Or isWMF(f) Then
        isWebImg = true
    Else
        isWebImg = true
    End If
End Function

Function ReadImg(filen)
    If isJPG(filen) Then
        ReadImg = ReadJPG(filen)
    Else
        If isGIF(filen) Then
            ReadImg = ReadGIF(filen)
        Else
            If isPNG(filen) Then
                ReadImg = ReadPNG(filen)
            Else
                If isBMP(filen) Then
                    ReadImg = ReadPNG(filen)
                Else
                    If isWMF(filen) Then
                        ReadImg = ReadWMF(filen)
                    Else
                        ReadImg = Array(0,0)
                    End If
                End If
            End If
        End If
    End If
End Function

Sub Rep(s)
    Response.Write s & "<BR>"
End Sub

Function ReadJPG(filen)
    Dim fso, ts, s, HW, ns, n, ok
    HW = Array("","")
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.OpenTextFile(Server.MapPath(folder & "/" & filen), 1)
    ts.Skip(2)
    ns = ts.Read(2)
    Do While Not (ns = "ÿÀ" Or ns = "ÿÂ")
        ns = ts.Read(2)
        n = HexToDec(HexAt(ns,1) & HexAt(ns,2))
        n = n - 2
        ts.Skip(n)
        ns = ts.Read(2)
    Loop
    ts.Skip(3)
    s = ts.Read(4)
    HW(0) = HexToDec(HexAt(s,3) & HexAt(s,4))
    HW(1) = HexToDec(HexAt(s,1) & HexAt(s,2))
    ts.Close
    Set ts = Nothing
    ReadJPG = HW
End Function

Function isDigit(c)
    If inStr("0123456789", c) <> 0 Then
        isDigit = true
    Else
        isDigit = false
    End If
End Function

Function isHex(c)
    If inStr("0123456789ABCDEFabcdef", c) <> 0 Then
        isHex = true
    Else
        ishex = false
    End If
End Function

Function HexToDec(cadhex)
    Dim n, i, ch, decimal
    decimal = 0
    n = Len(cadhex)
    For i=1 To n
        ch = Mid(cadhex, i, 1)
        If isHex(ch) Then
            decimal = decimal * 16
            If isDigit(ch) Then
                decimal = decimal + ch
            Else
                decimal = decimal + Asc(uCase(ch)) - Asc("A") + 10
            End If
        Else
            HexToDec = -1
        End If
    Next
    HexToDec = decimal
End Function

'------------------------------------------------
'Et par andre variabler
'------------------------------------------------

overskrift = REPLACE(folder, "_", " ")

Navigation = "<a href='../../Galleri.asp' class=nav>Galleri</a> -> " & overskrift
%>
<!--#include file="../Top.asp" -->
<TABLE align="center">
  <TR>
    <TD ALIGN=CENTER><font size="4"><B><%=overskrift%></B></FONT></TD>
  </TR>
  <TR>
    <TD ALIGN=CENTER>
      <TABLE height="260">
        <TR>
<%
For Each objFileItem in objFolderContents

If Mid(objFileItem.Name, InstrRev(objFileItem.Name, "_") + 1) = "thump.jpg" or Mid(objFileItem.Name, InstrRev(objFileItem.Name, "_") + 1) = "thump.JPG" then

  If CLng(count) < CLng(start) then
  count = count + 1
  Else

  If CLng(row) => CLng(max_row) And row_count = 3 then
  Else 
 
If row_count > 3 then
response.write "<tr>"
row_count = -1
row = row + 1
End If

fil = REPLACE(objFileItem.Name, "_thump", "")

strGrafik = fil
Size = ReadImg(strGrafik)
width = Size(0)
height = Size(1)

strGrafik = objFileItem.Name
Size = ReadImg(strGrafik)
width_thump = Size(0)
height_thump = Size(1)
%>
                        <TD ALIGN="CENTER" HEIGHT="130" WIDTH="150"><a href="#" onClick="popup('<% Response.Write folder %>/<% Response.Write fil %>','<% Response.Write width %>','<% Response.Write height %>')"><img border="0" src="<%=folder%>/<%=objFileItem.Name%>" width="<%=width_thump%>" height="<%=height_thump%>" alt=""></A></td>
<%
row_count = row_count + 1   
count = count + 1
End If
End If
End If
Next
%>
        </TR>
      </TABLE>
    </TD>
  </TR>
  <TR>
    <TD ALIGN="CENTER"><BR>Side: <% If page = "1" then %> 1 <% else %><a href="Open.asp?mappe=<%=Request.QueryString("mappe")%>&amp;start=1&amp;page=1">1</a> <% End If

For Each objFileItem in objFolderContents
If Mid(objFileItem.Name, InstrRev(objFileItem.Name, "_") + 1) = "thump.jpg" or Mid(objFileItem.Name, InstrRev(objFileItem.Name, "_") + 1) = "thump.JPG" then
info_Count = info_Count + 1
info_page = info_page + 1
if info_page = 9 then
info_page_count = info_page_count + 1
info_page = 0
End If
If info_page = 0 then
If trim(info_page_count + 1) = trim(page) then
response.write info_page_count + 1 & " "
Else
%>
<a href="Open.asp?mappe=<%=Request.QueryString("mappe")%>&amp;start=<% Response.Write info_count %>&amp;page=<% Response.Write info_page_count + 1 %>"><% Response.Write info_page_count + 1 %></a>
<%
End If
End If
end if
Next
%> </TD>
  </TR>
  <TR>
    <TD ALIGN=CENTER>
<%
if page = "" or page = "1" or start = "" then Response.Write "[ Forrige ]" else Response.Write "[ <a href='Open.asp?mappe=" & Request.QueryString("mappe") & "&start=" & start - 8 & "&page=" & page - 1 & "'>Forrige</a> ]" end if
%>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ <A HREF="../Galleri.asp">Index</A> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<%
if info_page_count = 0 then
Response.Write "[ Næste ]"
else
if page = trim(info_page_count+1) then
Response.Write "[ Næste ]"
else
Response.Write "[ <a href='Open.asp?mappe=" & Request.QueryString("mappe") & "&amp;start=" & start + 8 & "&amp;page=" & page + 1 & "'>Næste</a> ]"
end if
end if
%>
</TD>
</TR>
</table>
<%=Request.ServerVariables("PATH")%>
<!--#include file="../Bund.asp" -->
Avatar billede jakoba Nybegynder
05. juni 2002 - 21:48 #3
eller et link til siden så man kan kikke
Avatar billede killer_r Nybegynder
05. juni 2002 - 21:51 #4
Der kunne godt komme flere point på tale... :)
Avatar billede killer_r Nybegynder
05. juni 2002 - 22:02 #5
www.sejs.dk/diverse/hadsten/galleri/open.asp?mappe=Forårstur_2002

Men prøv lige at surfe lidt... For det er ikke sikkert I får fejlen når i åbner siden direkte... :(
Avatar billede jakoba Nybegynder
05. juni 2002 - 22:02 #6
Det er ikke så,eget et spørgsmål om points, som det er et spørgsmål om at få nok information til at kunne svare.

Lige ny skal jeg gennemgå al din asp kode (og jeg er ikke god til asp) for at finde ud af hvad javascript det genererer, som jeg så kan debugge for at gætte på hvad der evt går galt.

Jeg er nok for doven.

mvh JakobA
Avatar billede jakoba Nybegynder
05. juni 2002 - 22:03 #7
Ah, der kom et link. tak
Avatar billede jakoba Nybegynder
05. juni 2002 - 22:08 #8
i filen
http://www.sejs.dk/diverse/hadsten/Scripts.js

i funktione:
function billede(theURL,features)
    {
    window.open("http://www.sejs.dk/diverse/hadsten/Galleri/Billeder.asp?img=" + theURL,"",features)
    }

giv det vindue et navn so man kan regne med de sider du surfer på ikke bruger (fx  "")

så funktionen bliver:
function billede(theURL,features)
    {
    window.open("http://www.sejs.dk/diverse/hadsten/Galleri/Billeder.asp?img=" +theURL, "hadstenbilleder", features)
    }

mvh JakobA
Avatar billede jakoba Nybegynder
05. juni 2002 - 22:09 #9
Ups.  jeg cuttede vist da jeg ville copy&paste.    (fx  "") -> (fx  "hadstenbilleder")
Avatar billede killer_r Nybegynder
05. juni 2002 - 22:17 #10
Functionen billede bliver ikke brugt i galleriet...
Det gør "popup" og der igennem "Openpopup"...
Avatar billede killer_r Nybegynder
05. juni 2002 - 22:20 #11
Der hvor selve functionen kaldes (uden ASP)...

<a href="#" onClick="popup('Forårstur_2002/01.jpg','300','300')"><img border="0" src="Forårstur_2002/01_thump.jpg"></a>
Avatar billede jakoba Nybegynder
05. juni 2002 - 22:31 #12
Ok. sorry.
så ret linien:

    PopupWin = window.open("http://www.sejs.dk/diverse/hadsten/Galleri/Popup.asp?img=" + URL,"",'height=' + h + ',width=' + w + ',top=' + topPos + ',left=' + leftPos + '');

til
    PopupWin = window.open("http://www.sejs.dk/diverse/hadsten/Galleri/Popup.asp?img=" + URL,"hadstenbilleder",'height=' + h + ',width=' + w + ',top=' + topPos + ',left=' + leftPos + '');

Det handler om at popopvinduer du laver helst skal have et navn.
Avatar billede killer_r Nybegynder
06. juni 2002 - 10:49 #13
Nu har jeg givet det et navn...
Men den melder stadig fejlen??? :(
Avatar billede killer_r Nybegynder
13. juni 2002 - 16:55 #14
Jeg har nu fundet frem til at det er noget med at jeg åbner siden i en frame, så virker det ikke...
Men uden frame så virker det fint...
Hvad sker der!!!!!!!!????????????
Avatar billede killer_r Nybegynder
11. august 2002 - 22:39 #15
Har selv løst 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