14. maj 2008 - 10:34Der er
14 kommentarer og 1 løsning
Genbrug "brugernavn" fra login i ASP udtræk
Fik lige et super loginscript som virker perfekt.
Jeg vil nu gerne lave et udtræk fra min database på en ny side som brugeren er logget ind på. Hvordan genbruger jeg brugernavnet så jeg f.eks. kan lave følgende:
strSQL = "SELECT * FROM moviedb where bruger = (brugernavnet på brugeren)
opbygget korrekt vil du aldrig sammenligne på brugernavn men derimod brugerid - forestil dig et bøvl hvis du bruger brugernavn som relation og en bruger så skifter navn.
strSQL = "SELECT * FROM moviedb where brugerid = " & Session("UserID")
Synes godt om
Slettet bruger
14. maj 2008 - 10:44#3
Problemet er at jeg skal udtrække noget fra en anden database, hvor jeg har smidt deres brugernavn ind som "uploader". Derfor skal den udtrække de tabeller hvor uploadernavn = brugernavn ... Det kan jeg vel ikke bruge brugerid til?
Synes godt om
Slettet bruger
14. maj 2008 - 10:49#4
Den skal bare bruge brugernavn... Ved godt det ikke er smart hvis de skifter, men så skal det gamle navn bare blive i databasen alligevel, så det er ok.. :-)
Synes godt om
Slettet bruger
14. maj 2008 - 10:52#5
Kan man på den nye side bruge Session("UserID") og udskrive brugernavnet fra brugerdatabasen som tilhører "UserID" og så lave den til en variabel med brugernavnet som jeg kan bruge?
du har to muligheder - enten skal du joine de to tabeller sammen for så kan du stadig godt bruge id'et, alternativt kan du lave en ekstra session med navnet i dit login, fx Session("username")
Synes godt om
Slettet bruger
14. maj 2008 - 11:05#7
Jeg vil nok vælge at lave en session med username... Hvordan får jeg den med? Har lige prøvet at rode med det, men det lykkedes ikke rigtigt. Prøvede at kigge på hvordan den anden session var lavet, men så kunne jeg pludselig ikke logge ind, så et eller andet forkert må jeg have lavet.
Har følgende kode:
<% ' 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 = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/database/login_2000.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("beskyttet.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 %>
Lav den hurtige og sæt dette lige under din første session;
Session("UserName") = strUID
Synes godt om
Slettet bruger
14. maj 2008 - 11:29#9
Okay, du mener altså sådan her?
Og i min udtræk bagefter, kan jeg så skrive? strSQL = "SELECT * FROM moviedb where brugeravn = " & Session("UserName")
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 Session("UserName") = strUID Response.Redirect("beskyttet.asp")
strSQL = "SELECT * FROM seneste where brugernavn = '" & Session("Username") & "'"
Synes godt om
Slettet bruger
14. maj 2008 - 12:32#15
Jaaaaaaaaaaaaaaaaaaaa... :-)
Super konge fedt..... Så duer det... Fedt fedt fedt...
Mange tak for hjælpen.. :-)
Synes godt om
Ny brugerNybegynder
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.