Avatar billede myth Nybegynder
26. maj 2004 - 11:29 Der er 15 kommentarer og
2 løsninger

session skal videreføre adminid

<html>

<head>

    <title>Hansen & Pedersen - Film & Fjernsyn Online - Kontrolpanel</title>
   
    <!--Henter eksternt Stylesheet-->
    <link rel="stylesheet" type="text/css" href="../main.css">

</head>

<body leftmargin="0" rightmargin="0" topmargin="0" marginwidth="0" marginheight="0" style=overflow:hidden; background="../../images/kpback.jpg">

<%
SET RS = Server.CreateObject("ADODB.Connection")
rs.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/db/hpff.mdb")

If Request("mode") = "Check" then

Function unQuote(strTekst)
  strTekst = Trim(strTekst)
  strTekst = replace(strTekst, "'", "")
  strTekst = replace(strTekst,"%","53")
  unQuote = strTekst
End Function

    ' Gemmer formfelterne i Variabler
        strBrugernavn = unQuote(request("username"))
        strPassword = unQuote(request("password"))

       
       
  Sql = "SELECT COUNT(*) as Found from administrator WHERE (navn = '" & strBrugernavn  & "') and (password ='" & strPassword  & "')"
  Set LO = RS.Execute(Sql)
  if LO("Found") = 0 then
    Session("login") = "NO"
    error = "Det indtastede brugernavn eller kodeord er ikke korrekt"
  else
  strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/db/hpff.mdb")
  Set myConn = Server.CreateObject("ADODB.Connection")
  myConn.Open strDSN
  strSQL = "SELECT * FROM administrator where (navn = '" & Request("navn") & "') and (password ='" & Request("password") & "')"
  Set ez = myConn.Execute(strSQL)
    Session("login") = "YES"
   

Session("strAdminid") = 1 <--- denne her virker KUN hvis jeg forudbestemmer værdien som gjort her. jeg synes jeg har prøvet med alt for at få den til at skrive ("adminid")'et ud fra databasen - men uden held


    EZ.Close
    RS.Close
    myConn.Close
  Response.Redirect "../kontrolpanel/kontrolpanel.asp"
  end if
end if
%>

<div id="login" style="position:absolute; left:37px; top:5; width:300px; height:200px; z-index:5; overflow: hidden; border=;visibility: visible;"0"; scrolling="no";>

<form method="POST" action="login.asp" name="login">

    <input type="hidden" name="mode" VALUE="Check">

<table>

    <tr height="28">

        <td></td>
   
    </tr>

    <tr>

        <td align="right">

            brugernavn:

        </td>

        <td align="left">

            <input class='text' type='text' name='username' size='15' value="<%=strBrugernavn%>">

        <td>

    </tr>

    <tr>

        <td align="right">
       
            kodeord:

        </td>

        <td align="left">

            <input class="text" type="password" value="<%=strPassword%>" name="password" size="15">

        </td>

    </tr>

    <tr>
       
        <td></td>

        <td align="right">

            <a href="#" onclick="document.login.submit();return false;"><b>login</b></a>

        </td>
    </tr>

</table>

<%=error%>

</form>

</div>

<div id="hp" style="position:absolute; left:5px; top:300; width:37px; height:173px; z-index:4; overflow: hidden; border=;visibility: visible;"0"; scrolling="no";>

            <img src="../../images/hpnavn.jpg">

</div>

</body>

</html>
Avatar billede Slettet bruger
26. maj 2004 - 11:34 #1
har du prøvet at skrive det sådan her??

Session("strAdminid") = ez("adminid")
Avatar billede Slettet bruger
26. maj 2004 - 11:37 #2
jeg tror det er fordi du har prøvet med rs("adminid").. men når du sætter ez som dit rowspan, skal du også bruge ez senere..

du skal altså enten gøre sådan:

Set ez = myConn.Execute(strSQL)
Session("strAdminid") = ez("adminid")

...eller sådan her:

Set rs = myConn.Execute(strSQL)
Session("strAdminid") = rs("adminid")
Avatar billede fennec Nybegynder
26. maj 2004 - 11:44 #3
et login system:

set rs = conn.execute("select * from administrator where WHERE (navn = '" & strBrugernavn  & "') and (password ='" & strPassword  & "')")
if not rs.eof then
  'brugerne findes
  Session("login") = "YES"
  Session("strAdminid") = rs("id")
else
  'brugerne findes ikke
  error = "Det indtastede brugernavn eller kodeord er ikke korrekt"
end if

Dette burde kunne logge dine brugere ind.
Avatar billede myth Nybegynder
26. maj 2004 - 11:48 #4
Set ez = myConn.Execute(strSQL)
Session("strAdminid") = ez("adminid")
:
dette er prøvet men giver følgende fejlmelding:

ADODB.Field error '80020009'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

/code/login/login.asp, line 45
Avatar billede myth Nybegynder
26. maj 2004 - 11:59 #5
fennec - din løsning giver mig blot en fejlmelding om et manglende " i linien

set rs = conn.execute("select * from administrator where WHERE (navn = '" & strBrugernavn  & "') and (password ='" & strPassword  & "')")
Avatar billede Slettet bruger
26. maj 2004 - 12:02 #6
har tilladt mig at rette scriptet lidt til og sætte kommentarer ind... det skulle virke nu..

<%
'åbner din forbindelse
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/db/hpff.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open strDSN

If Request("mode") = "Check" then
  Function unQuote(strTekst)
    strTekst = Trim(strTekst)
    strTekst = replace(strTekst, "'", "")
    strTekst = replace(strTekst,"%","53")
    unQuote = strTekst
  End Function

  'Gemmer formfelterne i Variabler
    strBrugernavn = unQuote(request("username"))
    strPassword = unQuote(request("password"))

  'selecter fra administrator hvor brugernavn og password stemmer overens med det indtastede
  Sql = "SELECT * from administrator WHERE (navn = '" & strBrugernavn  & "') and (password ='" & strPassword  & "')"
  Set rs = conn.Execute(Sql)

  'hvis der ikke er nogen brugere, der stemmer overens med det indtastede
  if rs.EOF then
    Session("login") = "NO"
    error = "Det indtastede brugernavn eller kodeord er ikke korrekt"
  else
    Session("login") = "YES"
    Session("strAdminid") = rs("adminid")
  end if

  set rs = nothing
  conn.Close
  set conn = nothing
  Response.Redirect "../kontrolpanel/kontrolpanel.asp"
end if
%>
Avatar billede Slettet bruger
26. maj 2004 - 12:03 #7
der kan self være fejl i det, jeg har skrevet, men så kan vi jo tage den derfra..
Avatar billede myth Nybegynder
26. maj 2004 - 12:05 #8
lækkert nu virker  Session("strAdminid") = rs("adminid") :D

men jeg får ikke længere en fejlmelding hvis password er forkert
Avatar billede fennec Nybegynder
26. maj 2004 - 12:05 #9
Det var fordi rs var defineret på en anden måde. Har lige tilpasset koden.

Sql = "SELECT * from administrator WHERE (navn = '" & strBrugernavn  & "') and (password ='" & strPassword  & "')"
Set LO = RS.Execute(Sql)
if not LO.eof then
  'brugerne findes
  Session("login") = "YES"
  Session("strAdminid") = LO("id")
else
  'brugerne findes ikke
  error = "Det indtastede brugernavn eller kodeord er ikke korrekt"
end if
Avatar billede fennec Nybegynder
26. maj 2004 - 12:06 #10
kvadratrodenaf1 >>
der var du hurtigere..... :(
Avatar billede Slettet bruger
26. maj 2004 - 12:07 #11
det er fordi du mangler resten af siden.. tror jeg :D..


<html>

<head>

    <title>Hansen & Pedersen - Film & Fjernsyn Online - Kontrolpanel</title>
   
    <!--Henter eksternt Stylesheet-->
    <link rel="stylesheet" type="text/css" href="../main.css">

</head>

<body leftmargin="0" rightmargin="0" topmargin="0" marginwidth="0" marginheight="0" style=overflow:hidden; background="../../images/kpback.jpg">


<%
'åbner din forbindelse
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/db/hpff.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open strDSN

If Request("mode") = "Check" then
  Function unQuote(strTekst)
    strTekst = Trim(strTekst)
    strTekst = replace(strTekst, "'", "")
    strTekst = replace(strTekst,"%","53")
    unQuote = strTekst
  End Function

  'Gemmer formfelterne i Variabler
    strBrugernavn = unQuote(request("username"))
    strPassword = unQuote(request("password"))

  'selecter fra administrator hvor brugernavn og password stemmer overens med det indtastede
  Sql = "SELECT * from administrator WHERE (navn = '" & strBrugernavn  & "') and (password ='" & strPassword  & "')"
  Set rs = conn.Execute(Sql)

  'hvis der ikke er nogen brugere, der stemmer overens med det indtastede
  if rs.EOF then
    Session("login") = "NO"
    error = "Det indtastede brugernavn eller kodeord er ikke korrekt"
  else
    Session("login") = "YES"
    Session("strAdminid") = rs("adminid")
  end if

  set rs = nothing
  conn.Close
  set conn = nothing
  Response.Redirect "../kontrolpanel/kontrolpanel.asp"
end if
%>




<div id="login" style="position:absolute; left:37px; top:5; width:300px; height:200px; z-index:5; overflow: hidden; border=;visibility: visible;"0"; scrolling="no";>

<form method="POST" action="login.asp" name="login">

    <input type="hidden" name="mode" VALUE="Check">

<table>

    <tr height="28">

        <td></td>
   
    </tr>

    <tr>

        <td align="right">

            brugernavn:

        </td>

        <td align="left">

            <input class='text' type='text' name='username' size='15' value="<%=strBrugernavn%>">

        <td>

    </tr>

    <tr>

        <td align="right">
       
            kodeord:

        </td>

        <td align="left">

            <input class="text" type="password" value="<%=strPassword%>" name="password" size="15">

        </td>

    </tr>

    <tr>
       
        <td></td>

        <td align="right">

            <a href="#" onclick="document.login.submit();return false;"><b>login</b></a>

        </td>
    </tr>

</table>

<%=error%>

</form>

</div>

<div id="hp" style="position:absolute; left:5px; top:300; width:37px; height:173px; z-index:4; overflow: hidden; border=;visibility: visible;"0"; scrolling="no";>

            <img src="../../images/hpnavn.jpg">

</div>

</body>

</html>
Avatar billede Slettet bruger
26. maj 2004 - 12:08 #12
heh ja..
myth>> fennec har et tilsvarende svar, som du kan bruge, hvis du har lyst..
Avatar billede myth Nybegynder
26. maj 2004 - 12:09 #13
nej... har lige prøvet at kopiere hele din kode der... men stadig ingen fejlmelding
Avatar billede myth Nybegynder
26. maj 2004 - 12:17 #14
fennec's eksempel kan jeg ikke få til at fungere overhovedet - nu kan jeg logge ind uanset navn og password :|

kvadratrodenaf1 >> dit virker fint - bortset fra fejlmeldingen - hvad skyldes det?
Avatar billede Slettet bruger
26. maj 2004 - 12:17 #15
så skulle det virke.. det var fordi du blev sendt videre lige meget, om man blev logget på eller ej..

<html>

<head>

    <title>Hansen & Pedersen - Film & Fjernsyn Online - Kontrolpanel</title>
   
    <!--Henter eksternt Stylesheet-->
    <link rel="stylesheet" type="text/css" href="../main.css">

</head>

<body leftmargin="0" rightmargin="0" topmargin="0" marginwidth="0" marginheight="0" style=overflow:hidden; background="../../images/kpback.jpg">


<%
'åbner din forbindelse
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/db/hpff.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open strDSN

If Request("mode") = "Check" then
  Function unQuote(strTekst)
    strTekst = Trim(strTekst)
    strTekst = replace(strTekst, "'", "")
    strTekst = replace(strTekst,"%","53")
    unQuote = strTekst
  End Function

  'Gemmer formfelterne i Variabler
    strBrugernavn = unQuote(request("username"))
    strPassword = unQuote(request("password"))

  'selecter fra administrator hvor brugernavn og password stemmer overens med det indtastede
  Sql = "SELECT * from administrator WHERE (navn = '" & strBrugernavn  & "') and (password ='" & strPassword  & "')"
  Set rs = conn.Execute(Sql)

  'hvis der ikke er nogen brugere, der stemmer overens med det indtastede
  if rs.EOF then
    Session("login") = "NO"
    error = "Det indtastede brugernavn eller kodeord er ikke korrekt"
  else
    Session("login") = "YES"
    Session("strAdminid") = rs("adminid")
    Response.Redirect "../kontrolpanel/kontrolpanel.asp"
  end if

  set rs = nothing
  conn.Close
  set conn = nothing
end if
%>




<div id="login" style="position:absolute; left:37px; top:5; width:300px; height:200px; z-index:5; overflow: hidden; border=;visibility: visible;"0"; scrolling="no";>

<form method="POST" action="login.asp" name="login">

    <input type="hidden" name="mode" VALUE="Check">

<table>

    <tr height="28">

        <td></td>
   
    </tr>

    <tr>

        <td align="right">

            brugernavn:

        </td>

        <td align="left">

            <input class='text' type='text' name='username' size='15' value="<%=strBrugernavn%>">

        <td>

    </tr>

    <tr>

        <td align="right">
       
            kodeord:

        </td>

        <td align="left">

            <input class="text" type="password" value="<%=strPassword%>" name="password" size="15">

        </td>

    </tr>

    <tr>
       
        <td></td>

        <td align="right">

            <a href="#" onclick="document.login.submit();return false;"><b>login</b></a>

        </td>
    </tr>

</table>

<%=error%>

</form>

</div>

<div id="hp" style="position:absolute; left:5px; top:300; width:37px; height:173px; z-index:4; overflow: hidden; border=;visibility: visible;"0"; scrolling="no";>

            <img src="../../images/hpnavn.jpg">

</div>

</body>

</html>
Avatar billede Slettet bruger
26. maj 2004 - 12:19 #16
det var fordi Response.Redirect "../kontrolpanel/kontrolpanel.asp" ikke var afhængigt af, om man blev logget ind eller ej.. så man blev sendt videre lige meget hvad... tror jeg :D...
Avatar billede myth Nybegynder
26. maj 2004 - 12:22 #17
nu virker det - smukt - tak for hjælpen!

hvis du har tid må du også meget gerne tage et kig på: http://www.eksperten.dk/spm/502707
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