Avatar billede tblaster Nybegynder
29. april 2002 - 16:20 Der er 25 kommentarer og
1 løsning

Hente oplysning fra db!

Hejsa ...
Jeg bruger følgende til at connecte til min database:

        Set Conn = Server.CreateObject("ADODB.Connection")
        Set Rs = Server.CreateObject("ADODB.Recordset")
          'Modify and use this connection if your database is in your database directory
        'Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=Login.mdb"
        Conn.Open "DBQ=" & Server.Mappath("Login.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
   
        SQL = "SELECT Brugernavn, Brugerkode FROM Bruger"
        rs.Open SQL, Conn


Det virker fint nok og som I kan se så skal den hente Brugernavn og Brugerkoden fra databasen! Nu kan jeg så bare ikke få den til at arbejde sammen med følgende kode:

  sValidEmailAddress = "(Her skal den så bruge brugernavnet fra databasen)"
  sValidPassword = "(Her skal den så bruge brugerkoden fra databasen)"

Er der nogle der kan hjælpe mig! Det skal jo lige siges at der er flere bruger end en i databasen! Den skal altså medtage dem alle!
Avatar billede Slettet bruger
29. april 2002 - 16:21 #1
havde du ikke fundet fejlen selv igår ?
Avatar billede tblaster Nybegynder
29. april 2002 - 16:34 #2
Yep jeg fandt fejlen med at jeg havde et par % for meget ... men da jeg så checket det viste det sige at det stadig ikke virkede. Jeg havde først tid i dag til at checke det! Jeg havde brugt følgende:

  sValidEmailAddress = "<% =rs("Brugernavn")%>"
  sValidPassword = "<% =rs("Brugerkode")%>"

Hvis jeg gør det så er <% =rs("Brugernavn")%> den email man skal angive og <% =rs("Brugerkode")%>" er koden ... den hente det altså ikke fra databasen!
Avatar billede kotelet Nybegynder
29. april 2002 - 16:48 #3
Hmm... sValidEmailAdress ... er det ikke selv en streng. Hvis det er det, er det så ikke galt at bruge <% %> INDE i ASP-dokumentet. Men det var måske også det du selv havde hittet ud? :-)

Jeg ville gøre således:

sValidEmailAddress = "''''" & rs("Brugernavn") & "''''"
sValidPassword = "''''" & rs("Brugerkode") & "''''"

Hvor de fire ' er det samme som " (Jeg mener det er sådan i ASP) Det er vel og mærke hvis SELVE strengen SKAL have dobbelt citationstegn. Ellers er det jo såre enkelt:

sValidEmailAddress = rs("Brugernavn")
sValidPassword = rs("Brugerkode")

Men så nemt er det vel næppe?

Kan du bruge det?

/Kotelet
Avatar billede Slettet bruger
29. april 2002 - 16:50 #4
hvad bruger du så denne til ?



        Set Conn = Server.CreateObject("ADODB.Connection")
        Set Rs = Server.CreateObject("ADODB.Recordset")
          'Modify and use this connection if your database is in your database directory
        'Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=Login.mdb"
        Conn.Open "DBQ=" & Server.Mappath("Login.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
   
        SQL = "SELECT Brugernavn, Brugerkode FROM Bruger"
        rs.Open SQL, Conn
Avatar billede tblaster Nybegynder
29. april 2002 - 16:56 #5
Det første du skrev virker ikke ... hvis jeg bruger det andet du skrev så virker det ... men kun som jeg har haft det til at virke før! Man kan kun bruge det første brugernavn og ikke alle i tabellen! Hvad skal jeg gøre for at rette det?
Avatar billede tblaster Nybegynder
29. april 2002 - 16:57 #6
questis ... til at få forbindelse til databasen hvor den jo skal hente brugernavn og brugerkode fra som den så skal smide i følgende strenge:

  sValidEmailAddress = "(Her skal den så bruge brugernavnet fra databasen)"
  sValidPassword = "(Her skal den så bruge brugerkoden fra databasen)"
Avatar billede Slettet bruger
29. april 2002 - 16:58 #7
hmmm. hvad så med denne besked: den hente det altså ikke fra databasen
Avatar billede tblaster Nybegynder
29. april 2002 - 17:01 #8
questis ... det jeg havde fået til at virke var kun at den brugete:
<% =rs("Brugernavn")%> som email og
<% =rs("Brugerkode")%> som kode!

Altså at man skulle skrive: "<% =rs("Brugerkode")%>"  .... forstår du det nu? Jeg ved godt det lyder lidt indviklet!
Avatar billede Slettet bruger
29. april 2002 - 17:04 #9
okay... hvis jeg forstår dig ret skal du hente disse to værdier ind i de to funktioner, og det ville jeg også sige skulle gøres som kotelet siger det
Avatar billede tblaster Nybegynder
29. april 2002 - 17:10 #10
Det sidste som kotelet sagde:
sValidEmailAddress = rs("Brugernavn")
sValidPassword = rs("Brugerkode")
Virker også fint nok men den gør så man kun kan bruge det første brugernavn i tabellen og ikke dem alle! Hvordan kan jeg få det ordnet så man kan bruge alle brugerne?
Avatar billede Slettet bruger
29. april 2002 - 17:14 #11
kan du ikke forklare mig i hvilket sammenhæng dette skal bruges så er det lidt nemmer e&:-D er det ved login eller sådan noget ?
Avatar billede tblaster Nybegynder
29. april 2002 - 17:17 #12
Yep det er til et login system!
Avatar billede Slettet bruger
29. april 2002 - 17:18 #13
så skal dette altså bruges til at tjeke om den bruger der logger ind er gyldig ?
Avatar billede tblaster Nybegynder
29. april 2002 - 17:21 #14
yep ... både om brugernavnet og koden er gyldig!
Avatar billede Slettet bruger
29. april 2002 - 17:25 #15
ok.... kommer lige med et forslag... har selv lige lavet dette:

jeg bruger dette:

<%
' bruges til at tjekke om brugeren finde i db ved login
' Sender resultaterne fra tilføj links til databasen
' Database connection
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("/koder/asp/forum/forum.mdb")

strUsername = Trim(Replace(Request.Form("navn"),"'",""))
strPassword = Trim(Replace(Request.Form("password"),"'",""))
strSQL ="SELECT * FROM bruger WHERE UCase(navn) = '" & UCase(strUsername) & "' AND UCase(Password) = '" & UCase(strPassword) & "'"
set rs = conn.execute(strSQL)
'først tjekke om brugeren findes ved at tjekke om recordsetet er tomt.
if not rs.EOF then
  if LCase(rs("navn")) = LCase(strUsername) then
    'LOGIN OK
    session("brugernavn") = LCase(strUsername)
    Response.Redirect("index.asp")
  else
    'INGEN BRUGER FUNDET
    'Eller en blev fundet men databasen bruger navn passer ikke med det
    'indtastede brugernavn
  end if
else
'Brugeren findes ikke
Avatar billede kotelet Nybegynder
29. april 2002 - 17:26 #16
Hmmm ... Du må lige rette mig undervejs men en streng som sValidEmailAddress kan jo kun hedde éen ting, ikke sandt? ... Jeg forstår ikke hvordan du vil give den flere vlrdier på samme tid.

Hvis det er til login kunne du jo gøre således:

DO
IF request.form("brugernavn") = rs("brugernavn") THEN
IF request.form("brugerpass") = rs("brugerkode") THEN
session("login") = "true" ' BRugeren er nu logget på
EXIT DO
END IF
END IF
rs.Movenext
LOOP while not rs.EOF
IF NOT session("login") = "true" THEN
session("login") = "false" ' Brugeren er IKKE logget på

Hvis brugerens navn og adganskode passer til de tilsvarende i databasen hopper man UD af DO/LOOP og session("login") sættes til "true" for at indikere at man er logget på.

Kan du så bruge DET? :-)

/Kotelet
Avatar billede kotelet Nybegynder
29. april 2002 - 17:27 #17
Der mangler liiiige et END IF til sidst :-)
Avatar billede kotelet Nybegynder
29. april 2002 - 17:28 #18
strSQL = "SELECT * from TABEL"
Avatar billede Slettet bruger
29. april 2002 - 17:28 #19
kotelet>>

du er da nød til at lave en der tjekke om det fundne brugernavn og pssword passer sammen for at dobbelt tjekke din logins ?
Avatar billede tblaster Nybegynder
29. april 2002 - 17:29 #20
jeg kan ikke bruge det i har skrevet ... jeg skal bruge hvor de 2 strenge brugers:
sValidEmailAddress = rs("Brugernavn")
sValidPassword = rs("Brugerkode")
Avatar billede Slettet bruger
29. april 2002 - 17:31 #21
hvorfor "skal" du bruge disse ?
Avatar billede kotelet Nybegynder
29. april 2002 - 17:34 #22
DO
IF request.form("brugernavn") = rs("brugernavn") THEN
IF request.form("brugerpass") = rs("brugerkode") THEN
session("login") = "true" ' BRugeren er nu logget på
sValidEmailAddress = rs("Brugernavn")
sValidPassword = rs("Brugerkode")
EXIT DO
END IF
END IF
rs.Movenext
LOOP while not rs.EOF
IF NOT session("login") = "true" THEN
session("login") = "false" ' Brugeren er IKKE logget på

Den samme, men nu er dine to strenge defineret... Jeg går i mit script ud fra, at der ikke er to brugere der har samme navn.
Avatar billede tblaster Nybegynder
02. maj 2002 - 15:07 #23
Kotelet ... gør jeg som du skrev til sidst så sker skriver den standard fejlen ... siden kan ikke vises. Jeg kan altså ikke vise siden!
Avatar billede tblaster Nybegynder
02. maj 2002 - 16:56 #24
Lukket
Avatar billede kotelet Nybegynder
02. maj 2002 - 21:34 #25
Fik du selv løst problemet eller hva'? ... Hvorfor lukker du det pludseligt!?
Avatar billede tblaster Nybegynder
02. maj 2002 - 21:42 #26
Jeg har fundet ud af at der ikke er nogle der kan hjæpe, jeg har også haft fat i nogle top profies i asp! Så jeg har valgt at programere det hele om!
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