Avatar billede dennis_p Nybegynder
31. maj 2005 - 14:15 Der er 24 kommentarer og
1 løsning

Har et stort problem med ASP og at få det til at virke

Jeg kan ikke få mit login ting til at virke på nettet..

min login.asp:

<%
' Hvis der er blevet trykket på knappen "Login"
If Request.Form("Action") = "Login" Then
  ' Her forberedes de indtastede værdier til validering
  strUID = Trim(Replace(Request.Form("Brugernavn"),"'",""))
  strPWD = Trim(Replace(Request.Form("Adgangskode"),"'",""))

  ' Hvis der er skrevet noget i både brugernavn og adgangskode
  If Len(strUID) > 0 And Len(strPWD) > 0 Then

    ' DSNLess forbindelse til databasen
    Set myConn = http://faaborgtennisklub.dk/database.CreateObject("ADODB.Connection")
    myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & http://faaborgtennisklub.dk/database.MapPath("login_database.mdb")

    ' Opbygning af SQL streng
    strSQL = "SELECT UserID FROM Users"&_
      " WHERE (Username = '" & strUID & "')"&_
      " AND (Password = '" & strPWD & "')"

    Set rs = myConn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
      ' Hvis brugeren fandtes i databasen
      intUID = rs("UserID")
    Else
      ' Hvis brugeren ikke fandtes i databasen
      strERR = "Du blev ikke godkendt af systemet"
    End If

    ' Rydder op i vores connection objekt
    myConn.Close
    Set myConn = Nothing

    If Len(intUID) Then
      ' Hvis variablen intUID indeholder en værdi sættes denne i sessionen "UserID" og brugeren bliver sendt videre
      Session("UserID") = intUID
      Response.Redirect("secure.asp")
    End If
  Else
    ' Hvis der ikke var angivet brugernavn og adgangskode
    strErr = "Du skal skrive både brugernavn og adgangskode"
  End If

  If Len(strErr) > 0 Then
    ' Her laves fejlmeddelsen om til rød skrift
    strErr = "<p><font color=red>" & strErr & "</font></p>"
  End If
End If
%>
<html><head>
<title>Login</title>
</head><body>

<form method="POST" action="login.asp">
<p><font size="4">Angiv brugernavn og adgangskode</font></p><%=strErr%>
<table border="0">
<tr>
<td width="50%">Brugernavn:</td>
<td width="50%"><input type="text" name="Brugernavn" size="20"> </td>
</tr>
<tr>
<td width="50%">Adgangskode:</td>
<td width="50%"><input type="password" name="Adgangskode" size="20"></td>
</tr>
</table>
<p><input type="submit" value="Login" name="Action"></p>
</form>

</body></html>

-------------------
databasen er lavet med UserID og primær nøgle samt username og password...
------------------------

har lavet en side der hedder secure.asp til at teste på, der har jeg tilføjet.....

<%
If isEmpty(Session("UserID")) Then
  Response.Redirect("login.asp")
End If
%>

aller øverst på siden...

samt min database hedder login_database.mdb.....


det der sker når jeg prøver at logge på er at den kommer op med en HTTP 500 intern server fejl.....

selvom jeg skriver koden forkert, så skulle den bare komme op med en rød tekst på selve login siden, men den kommer op med et fejl vindue..
Avatar billede kalp Novice
31. maj 2005 - 14:17 #1
tryk funktioner->internet indstillinger ->avanceret og fjern flueben i "vis meddelelser om uskadelige http fejl"

og se hvad fejlen er.. kopir den herind.
Avatar billede dennis_p Nybegynder
31. maj 2005 - 14:17 #2
Avatar billede dennis_p Nybegynder
31. maj 2005 - 14:20 #3
Microsoft VBScript runtime error '800a01a8'

Object required: 'http'

/tm/login.asp, line 12
Avatar billede nielle Nybegynder
31. maj 2005 - 14:20 #4
Et bud kunne jo være at det var de her to linjer som fejler maks.

Set myConn = http://faaborgtennisklub.dk/database.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & http://faaborgtennisklub.dk/database.MapPath("login_database.mdb")
Avatar billede nielle Nybegynder
31. maj 2005 - 14:21 #5
Du skal bruge nogle værdier som passer til serveren som den ser ud "internt" - ikke "eksternt" (som i "eksterne fra Internettet").
Avatar billede nielle Nybegynder
31. maj 2005 - 14:23 #6
Måske:

Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("login_database.mdb")
Avatar billede nielle Nybegynder
31. maj 2005 - 14:24 #7
Ordet "Server" er et ASP begreb og det er ikke meningen at det skal erstattes med jers URL.
Avatar billede dennis_p Nybegynder
31. maj 2005 - 14:26 #8
okay det hjalp lidt, men nu får jeg denne..

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0xbad0 Thread 0x132c DBC 0xaf50f8c Jet'.

/tm/login.asp, line 13
Avatar billede nielle Nybegynder
31. maj 2005 - 14:34 #9
Prøv at tilføje en debug-udskrift. Ret:

myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("login_database.mdb")

- til:

connStr = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("login_database.mdb")
Response.Write connStr
myConn.Open connStr
Avatar billede dennis_p Nybegynder
31. maj 2005 - 14:36 #10
DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d:\web\localuser\faaborgtennisklub.dk\public_html\tm\login_database.mdb
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0xbad0 Thread 0xbb50 DBC 0x8f1506c Jet'.

/tm/login.asp, line 15
Avatar billede dennis_p Nybegynder
31. maj 2005 - 14:39 #11
(*.mdb)};DBQ=d:\web\localuser\faaborgtennisklub.dk\public_html\tm\login_database.mdb

Efter jeg har lagt login_database ud i stien kommer denne fejl:

DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d:\web\localuser\faaborgtennisklub.dk\public_html\tm\login_database.mdb
Microsoft OLE DB Provider for ODBC Drivers error '80040e37'

[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot find the input table or query 'Users'. Make sure it exists and that its name is spelled correctly.

/tm/login.asp, line 22
Avatar billede nielle Nybegynder
31. maj 2005 - 14:41 #12
Det tyder jo på at der ikke fines en tabel eller en forespørgelse (query) som hedder "users" i din database.
Avatar billede dennis_p Nybegynder
31. maj 2005 - 14:45 #13
Users ???
       
jeg har UserID
        Username
        Password
Avatar billede nielle Nybegynder
31. maj 2005 - 14:48 #14
... men hvad er navnet på selve tabellen?
Avatar billede dennis_p Nybegynder
31. maj 2005 - 14:49 #15
logins
Avatar billede nielle Nybegynder
31. maj 2005 - 14:52 #16
Ja, men dit ASP-script forventer at det hedder Users. Enten må du omdøbe tabellen eller også må du rette scriptet sådan at Users rettes til Logins.
Avatar billede dennis_p Nybegynder
31. maj 2005 - 14:56 #17
okay det hjalp meget....men der er stadig lidt..


Active Server Pages error 'ASP 0140'

Page Command Out Of Order

/tm/secure.asp, line 6

The @ command must be the first command within the Active Server Page.
Avatar billede dennis_p Nybegynder
31. maj 2005 - 14:57 #18
Siden starter med dette her...

<%
If isEmpty(Session("UserID")) Then
  Response.Redirect("login.asp")
End If
%>
Avatar billede nielle Nybegynder
31. maj 2005 - 14:59 #19
Din side skal helst starte med noget i stil med:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
Avatar billede dennis_p Nybegynder
31. maj 2005 - 15:06 #20
Tak jeg fandt lige ud af det....nu logger den på perfekt....

Det eneste der er at hvis man taster noget forkert kommer denne her aller øverst på siden..

DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d:\web\localuser\faaborgtennisklub.dk\public_html\tm\login_database.mdb

Hvordan får man den væk ? Ellers du skal bare smide et svar, du har virkelig redet min dag, det er fantastisk så hurtig du har været samt at gide at bruge tid på de, jeg takker mange gange, der er ekstra point til dig her: http://www.eksperten.dk/spm/622018 smid et svar og du får pointene....Tusind tak for hjælpen
Avatar billede nielle Nybegynder
31. maj 2005 - 15:09 #21
Er det ikke debug vi satte ind i 31/05-2005 14:34:07? Den lille stump kode skal vel bare rettes tilabge igen. :^)
Avatar billede dennis_p Nybegynder
31. maj 2005 - 15:10 #22
jo jeg har slettet det og det virker 1000% nu...Smid et svar og endnu engang tak for hjælpen
Avatar billede nielle Nybegynder
31. maj 2005 - 15:18 #23
Et svar :^)
Avatar billede nielle Nybegynder
31. maj 2005 - 15:20 #24
Desværre har jeg en dårlig nyhed til dig, og det er at man ved at indtaste det rette URL kan downloade databasen. Derefter kan man umiddelbart se dine loginoplysninger. Du tester f.eks. med brugerene n*** og test.
Avatar billede nielle Nybegynder
31. maj 2005 - 15:22 #25
Jeres webserver bør konfigureres til at nægte download af mdb-filer eller også bør din mdb-fil ikke ligge under roden af dit websted.
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