Avatar billede divad Nybegynder
25. oktober 2003 - 14:43 Der er 9 kommentarer og
1 løsning

hvad nu!

Jeg får udskrevet følgende fejl: og jeg ved ikke hvad der er galt. jeg bruger b-one!

Microsoft VBScript runtime error '800a01a8'

Object required: 'opendb()'

/default.asp, line 7

--------------------------------------
<%
    Response.Buffer = True

    Function opendb()
    SQLserveradr="localhost"
    SQLdatabase="b_teens_dk"
    SQLlogin="b_teens_dk"
    SQLpassword="xxxxxxxx"

    Set Conn = Server.CreateObject("ADODB.Connection")

    conStr = "driver={MySql};server="& SQLserveradr &";database="& SQLdatabase
    conStr = conStr & ";uid="& SQLlogin &";pwd="& SQLpassword & ";OPTION=16386"

    Conn.Open conStr
    End function

    Function closedb ()
        conn.close
        Set conn = nothing
    End Function

    'sideinformation

    function getpage
        pagestr = request.querystring("page")
       
        if pagestr = "" then pagestr = 1
           
        getpage = pagestr
    end function

    function getpagename
        if getpage() = 1 then getpagename = "forside"
   
        if getpage() = 2 then getpagename = "information"

        if getpage() = 3 then getpagename = "klassen"

        if getpage() = 4 then getpagename = "kalender"
   
        if getpage() = 5 then getpagename = "forum"

        if getpage() = 6 then getpagename = "tagwall"
   
        if getpage() = 7 then getpagename = "kontakt"

        if getpage() = 8 then getpagename = "links"

        if getpage() = 9 then getpagename = "login"

        if getpage() = 10 then getpagename = "registrering"

        if getpage() = 11 then getpagename = "administration"
    end function

    function getmode
        modestr = request.querystring("mode")
       
        if modestr = "" then modestr = "normal"
       
        getmode = modestr
    end function


        Function autoHighlight(Lin)

        dim link_color, link_target, ugyldigetegn, starttegn, sluttegn, maxdomain, maxlinks, pointer, regon, regdomain, t, nolink, truelink, linkhtml, pathstart, portstart, pointeradd, middle, temp, start, i, slut, tegn, tegnf, tegne, serverslut, domain, servername, regdomains

        ' Indstillinger -----
        link_target = "_blank"        ' Link Target
        ugyldigeTegn = " _:\,;/'?" ' Ugyldige tegn omkring punktummer
        StartTegn = " ,;""<>!"        ' Tegn der starter et link fx. <H1>www.spise.dk</H1>
        SlutTegn = " ,;""<>!"        ' Tegn der slutter et link fx. www.partynet.dk!
        MaxDomain = 3                ' Max. tegn i domain navn fx "com"    (3=default)   
        MaxLinks = -1                ' (Bruges til debug) Hvor mange links skal "HighLight"'es per streng (-1 = uendelig)
        Pointer = 1                ' Ved hvad tegn skal der startes (1=default)

        ' Skal der chekes efter registrede domæner (1=ja & 0=nej)
        RegON = 1                   
        ' De registrede domæner:
        RegDomain = "dk;com;net;org;gov;edu;uk;no;se;de;as;ru;sk;ch;it;nl;fr;hu;to;au;tw;jp;"

        ' Indstillinger slut -----
 
        ' Begynd løkke
        Do until t = MaxLinks
        ' Nulstilling af de variable:
        NoLink = False            'True hvis det fundne tekst ikke er et link
        TrueLink = False        'True hvis linket begynder med http://
        Linkhtml = ""
        PathStart = 0
        PortStart = 0
        PointerADD = 0

        ' Her findes "midten" af linket
        middle = Instr(pointer,lin,".")
        temp = Instr(pointer,Lcase(lin),"http://")

        ' Dette sørger for at finde det første af enten "." eller "http://"
        If temp < middle and temp <> 0 then middle = temp+6:TrueLink = true
        If middle = 0 and temp > 0 then middle = temp+6:TrueLink = true

        ' Hvis "." eller "http://" ikke er fundet skal løkken stoppe
        If Middle = 0 then exit do

        ' Her findes starten af linket (defineret udfra start tegnene)
        start = 1
        For i = 1 to len(StartTegn)
            temp = InStrRev(Lcase(lin),mid(StartTegn,i,1),Middle)
              If temp => start and temp <> 0 then start = temp+1
        next

        ' Her findes slutningen af linket (defineret udfra slut tegnene)
        slut = len(lin)
        For i = 1 to len(SlutTegn)
              temp = Instr(Middle,Lcase(lin),mid(SlutTegn,i,1))
              If temp <= slut and temp <> 0 then slut = temp-1
        next

        'Checker efter "?" og "." de må gerne stå i midten af linket, men ikke i slutningen
        ' Fx. "www.nordmark.dk?????" eller "www.partynet.dk..."
        tegn = Mid(lin,slut,1)
        do until (tegn <> "." and tegn <> "?") or slut = 1
        If tegn = "." or tegn = "?" then slut=slut-1:PointerADD = PointerADD+1
              tegn = Mid(lin,slut,1)
        loop

        'Hvis det kun er et "." der er fundet og linket ikke begynder med http:// skal det testes ekstra
        If TrueLink = False then

        ' Her testes om punktummet står i starten eller i slutningen af strengen
        If Middle = 1 then noLink = true:start=slut+1
        If Middle = len(lin) then noLink = true:start=slut+1
        ' Her testes efter ugyldige tegn, ved siden af punktummet
        If nolink <> True then
              TegnF = Mid(lin,middle-1,1)
              TegnE = Mid(lin,middle+1,1)
              For i = 1 to len(ugyldigeTegn)
              If TegnF = mid(ugyldigeTegn,i,1) then noLink = true:start=slut+1:exit for
              If TegnE = mid(ugyldigeTegn,i,1) then noLink = true:start=slut+1:exit for
              next
        end if

        ' Her findes domæne navnet og længden chekes -> fx:".dk" ".com" ".uk"
        ' De første if-sætningr checker om der er andet efter efter server navnet
        ' som fx. port nr. eller en sti
        If nolink <> True then
          ServerSlut = Slut
          temp = Instr(Middle,Lcase(lin),"/")
          If temp <= ServerSlut and temp <> 0 then ServerSlut = temp-1:PathStart=Temp
          temp = Instr(Middle,Lcase(lin),":")
          If temp <= ServerSlut and temp <> 0 then ServerSlut = temp-1:PortStart=Temp+1
          temp = InstrRev(lin,".",ServerSlut)
          Domain = mid(Lcase(lin),temp+1,ServerSlut - temp)
          Servername = mid(lin,start,ServerSlut-start+1)
          If len(domain) > MaxDomain then noLink = true:start=slut+1 'Max tegn
          If len(domain) = 0 then noLink = true:start=slut+1 'Udrydder fx. www.spise./index.htm

        'Checker efter steder i servernavnet hvor der er mere end et punktum
          If Instr(Servername,"..") <> 0 then noLink = true:start=slut+1
        end if
 
        ' Her chekes, hvis RegON = 1, om domænenavnet er korrekt.
        If RegON = 1 and nolink <> true then
          RegDomains = split(Lcase(RegDomain),";")
          nolink = true
          For i = 0 to Ubound(RegDomains)
        If RegDomains(i) = Domain then nolink = false:exit for
          next
          If nolink = true then start=slut+1
        end if

        else
            'Hvis der står "xxhttp://", er det kun fra "http://" der skal highlightes:)
            start = Instr(pointer,Lcase(lin),"http://")
        End if

        'Dette er nogen af de ting der er mulige at spytte ud til hvert link:
        'Response.write "---------------------<BR>"
        'Response.write "LinkNr: "&t&"<BR>"
        'Response.write "Starter ved tegn: "&Start&"<BR>"
        'Response.write "Slutter ved tegn: "&Slut&"<BR>"
        'Response.write "Domænenavn: "&Domain&"<BR>"
        'Response.write "Servernavn uden path: "&ServerName&"<BR>"
        'If PathStart<>0 then Response.write "Path efter servernavn: "&mid(lin,pathStart,slut-pathstart+1)&"<BR>"

        'Hvis det fundne mulige link har bestået alle "prøverne" skal det udskiftes med html tags
        If noLink <> True then
        If Lcase(Mid(lin,start,7)) = "http://" then
              LinkHtml = "<a href='" & mid(lin,start,slut-start+1) &"' target='"&link_target&"'>"& mid(lin,start,slut-start+1) & "</a>"
        else
        if instr(mid(lin,start,slut-start+1), "@") > 0 then ' hvis der er et @ i teksten, så gør den til en mailadresse...
            LinkHtml = "<a href='mailto:" & mid(lin,start,slut-start+1) &"'>"& mid(lin,start,slut-start+1) & "</a>"
        else
            LinkHtml = "<a href='http://" & mid(lin,start,slut-start+1) &"' target='"&link_target&"'>"& mid(lin,start,slut-start+1) & "</a>"
        end if
        End If
              lin = Left(lin,start-1) & LinkHtml & right(lin,len(lin)-slut)
              t=t+1
        End If

        'Pointeren sættes til næste logiske start
        pointer = start + len(LinkHtml)+PointerADD
        loop

        autoHighlight = lin
    End function

   
    'adgangskontrol

    function logout
        session("login") = ""
        session("memberid") = ""
        session("username") = ""
        session("authlevel") = ""
    end function

    function restricted
        if session("login") = "" then
        response.redirect "?page=9"
        end if
    end function
   
    function ban
        SQL = "SELECT COUNT(*) as found FROM ban WHERE ip = '" & request.ServerVariables("REMOTE_HOST") & "'"
        set RS = conn.execute(SQL)
       
        if RS("found") > 0 then
        response.redirect("pages/llamah.asp")
        end if
       
        RS.close
        set RS = nothing
    end function
%>
Avatar billede tchami Nybegynder
25. oktober 2003 - 21:36 #1
Hvor kalder du opendb funktionen?
Avatar billede divad Nybegynder
25. oktober 2003 - 21:40 #2
i min default.asp, som er følgende:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="pages/includes/functions.asp" -->
<!--#include file="pages/includes/menu.asp" -->
<!--#include file="pages/includes/pageloader.asp" -->
<!--#include file="pages/includes/infoboxes.asp" -->
<%
    set conn = opendb()

response.write("<html>" & vbcrlf)
response.write("<head>" & vbcrlf)
response.write("<title>Aalborg Hardball Forening</title>" & vbcrlf)
response.write("<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>" & vbcrlf)
response.write("<link href='pages/includes/styles.css' rel='stylesheet' type='text/css'>" & vbcrlf)
response.write("<script language='JavaScript'>" & vbcrlf)
  response.write("function menu(element,mode) {" & vbcrlf)
    response.write("if (mode=='in') {" & vbcrlf)
      response.write("cursortype = 'hand'" & vbcrlf)
      response.write("colorval = '#BEC9D9'" & vbcrlf)
    response.write("} else if (mode=='out') {" & vbcrlf)
      response.write("cursortype = ''" & vbcrlf)
      response.write("colorval = '#FFFFFF'" & vbcrlf)
    response.write("}" & vbcrlf)
  response.write("element.style.background=colorval;" & vbcrlf)
  response.write("element.style.cursor=cursortype;" & vbcrlf)
response.write("}" & vbcrlf)

response.write("function MM_preloadImages() { //v3.0" & vbcrlf)
  response.write("var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();" & vbcrlf)
    response.write("var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)" & vbcrlf)
    response.write("if (a[i].indexOf('#')!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}" & vbcrlf)
response.write("}" & vbcrlf)

response.write("function MM_swapImgRestore() { //v3.0" & vbcrlf)
  response.write("var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;" & vbcrlf)
response.write("}" & vbcrlf)

response.write("function MM_findObj(n, d) { //v4.01" & vbcrlf)
  response.write("var p,i,x;  if(!d) d=document; if((p=n.indexOf('?'))>0&&parent.frames.length) {" & vbcrlf)
    response.write("d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}" & vbcrlf)
  response.write("if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];" & vbcrlf)
  response.write("for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);" & vbcrlf)
  response.write("if(!x && d.getElementById) x=d.getElementById(n); return x;" & vbcrlf)
response.write("}" & vbcrlf)

response.write("function MM_swapImage() { //v3.0" & vbcrlf)
  response.write("var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)" & vbcrlf)
  response.write("if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}" & vbcrlf)
response.write("}" & vbcrlf)
'response.write("//-->" & vbcrlf)

response.write("</script>")
response.write("</head>")

response.write("<body background='gfx/gif/bg.gif' leftmargin='0' topmargin='0' marginwidth='0' marginheight='0' onLoad=""MM_preloadImages('gfx/gif/icons/frontpage.gif','gfx/gif/icons/frontpage_over.gif','gfx/gif/icons/information.gif','gfx/gif/icons/information_over.gif','gfx/gif/icons/members.gif','gfx/gif/icons/members_over.gif','gfx/gif/icons/calender.gif','gfx/gif/icons/calender_over.gif','gfx/gif/icons/tagwall.gif','gfx/gif/icons/tagwall_over.gif','gfx/gif/icons/forum.gif','gfx/gif/icons/forum_over.gif','gfx/gif/icons/contact.gif','gfx/gif/icons/contact_over.gif','gfx/gif/icons/links.gif','gfx/gif/icons/links_over.gif')"">")
response.write("<table width='752' height='100%' border='0' align='center' cellpadding='0' cellspacing='0' class='td_body'>")
  response.write("<tr>")
    response.write("<td width='750' valign='top'><table width='750' border='0' cellpadding='0' cellspacing='0'>")
        response.write("<tr>")
          response.write("<td colspan='5'><a name='#top'><img src='gfx/gif/top.gif' width='750' height='140'></a></td>")
        response.write("</tr>")
        response.write("<tr>")
          response.write("<td colspan='5'>")

            call menu 'henter menu

          response.write("</td>")
        response.write("</tr>")
        response.write("<tr>")
          response.write("<td colspan='5' height='25'></td>")
        response.write("</tr>")
        response.write("<tr>")
          response.write("<td width='10'>&nbsp;</td>")
          response.write("<td width='550' valign='top'><table width='550' border='0' cellspacing='0' cellpadding='0'>")
              response.write("<tr>")
                response.write("<td width='550' class='contents'><table width='100%' border='0' cellspacing='0' cellpadding='2'>")
                    response.write("<tr>")
                      response.write("<td width='100%' height='16'><font color='#999999'>ahf." & getpagename() & "</font></td>")
                    response.write("</tr>")
                  response.write("</table><br>")

            call pageloader 'henter sideindhold

                  response.write("<br></td>")
              response.write("</tr>")
            response.write("</table></td>")
          response.write("<td width='20'>&nbsp;</td>")
          response.write("<td width='160' valign='top'><table width='160' border='0' cellpadding='0' cellspacing='0' class='contents'>")
              response.write("<tr>")
                response.write("<td width='160'><table width='100%' border='0' cellspacing='0' cellpadding='2'>")
                    response.write("<tr>")
                      response.write("<td width='100%' height='16'><font color='#999999'>ahf.infoboks</font></td>")
                    response.write("</tr>")
                  response.write("</table><br>")

            call infoboxes 'henter infobokse

                response.write("<br></td>")
              response.write("</tr>")
            response.write("</table>")
          response.write("</td>")
          response.write("<td width='10'>&nbsp;</td>")
        response.write("</tr>")
      response.write("</table></td>")
  response.write("</tr>")
response.write("</table>")
response.write("</body>")
response.write("</html>")

    closedb()
%>
Avatar billede tchami Nybegynder
25. oktober 2003 - 21:44 #3
Prøv at ændre set conn = opendb() til opendb()

Ellers så check at du rent faktisk inkludere filen hvor funktionen opendb() ligger.
Avatar billede divad Nybegynder
26. oktober 2003 - 09:10 #4
Jeg ændrede conn = opendb() til bare opendb(), Og det virkede, så du har fortjent dine point :D

Læg venligst et svar
Avatar billede divad Nybegynder
26. oktober 2003 - 09:12 #5
Men jeg ville blive taknemlig hvis du kunne fortælle mig hvad denne fejl skyldes.

Object required: 'Conn'

pages/includes/functions.asp, line 228
Avatar billede tchami Nybegynder
26. oktober 2003 - 10:42 #6
Hvad er linie 228?
Avatar billede divad Nybegynder
26. oktober 2003 - 10:50 #7
denne her: set RS = conn.execute(SQL)
Avatar billede tchami Nybegynder
26. oktober 2003 - 12:39 #8
Som ligger i funktionen ban ikke?

Hvor kalder du den?

Du skal være sikker på at du allerede der har initialiseret dit Conn object (hvilket du gør i funktionen opendb).
Avatar billede divad Nybegynder
26. oktober 2003 - 16:14 #9
takker for hjælpen!
Avatar billede tchami Nybegynder
26. oktober 2003 - 18:44 #10
Anytime :)
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