Avatar billede tekniskdesigner Nybegynder
29. januar 2004 - 22:17 Der er 15 kommentarer og
3 løsninger

Hent aktuelt brugernavn

Hej...

Jeg har en login funktion hvor en bruger logger ind i mit system som er lavet på asp filer og en access 2000 database, men når de så er logget ind, vil jeg gerne kunne trække nogle informationer om den aktuele bruger ud som brugernavnet og status hvordan gør man det ?

På forhånd tak for hjælpen :)
- Thomas Nielsen
Avatar billede fun22 Nybegynder
29. januar 2004 - 22:39 #1
når du logger ind kan du bare sætte en session med brugernavn, status, osv...
Avatar billede tekniskdesigner Nybegynder
29. januar 2004 - 22:50 #2
og hvordan gør man det ? jeg er helt grøn så det skal helst gerne skæres ud i pap :)
Avatar billede mr.meincke Nybegynder
29. januar 2004 - 22:55 #3
fun22, lidt for nemt at "logge ind" som en anden bruger så ?
Avatar billede the_bma_man Nybegynder
30. januar 2004 - 12:38 #4
Her lidt pseudo-kode - hold det op med det, du gør idag for at verificere brugeren.

få fat i brugernavn og password (nok postet fra en anden side)
lav en "select * from brugere where brugernavn = varbrugernavn" (pseudo)
open recordset med ovennævnte sql
if rs("password") = varpassword (Så er den ok)
  session("varbrugerdata1") = rs("brugerdata1")
  session("varbrugerdata2") = rs("brugerdata2")
  osv.
end if

du kan nu bruge session-variablene med brugerdata på alle dine sider.
Avatar billede fun22 Nybegynder
30. januar 2004 - 14:38 #5
mr.meincke >> hvordan det? passwordet ligger jo ikke i en session, og man skal jo bruge passwordet for at logge ind. Den session han laver skal selvfølgelig havet er mærkeligt navn så man ikke lige gætter sig frem til den.

tekniskdesigner >> prøv at kig på http://nyside.fug.dk der er en artikkel om sessions

Mvh
Jesper
Avatar billede tekniskdesigner Nybegynder
30. januar 2004 - 14:42 #6
the bra man, øhhh hva mener du med det ?
Avatar billede mr.meincke Nybegynder
30. januar 2004 - 14:56 #7
fun22, sådan som jeg forstod det, så ville du gemme brugernavnet til at "hente brugerens" informationer?
Hvis det var sådan du mente, og ikke den session har et giga navn, så er den ret lidt at "cracke".
Avatar billede fun22 Nybegynder
30. januar 2004 - 15:02 #8
mr.meincke >> du kan da prøve kræfter med min side... hvis du vil... Den er lavet på sessions.

tekniskdesigner >> Der er en anden artikel på samme side som nook passer lige til det du skal bruge: "Login system med DB"
Avatar billede mr.meincke Nybegynder
30. januar 2004 - 15:03 #9
fun22, gerne :p
Avatar billede fun22 Nybegynder
30. januar 2004 - 15:08 #10
mr.meincke >> Prøv : http://zig-software.dk
Avatar billede the_bma_man Nybegynder
30. januar 2004 - 15:44 #11
Kan du uddybe, hvad det er helt præcist, du ikke forstår i mit svar?
Jeg går ud fra, at du godt kan finde ud af at checke om passwordet er rigtigt - ved hjælp af databasen? Du skriver i starten, at de logger ind - så du har vel checket i orden?
Det er så dette database-kald, hvor du henter password (for at kunne sammenligne det fra basen, med det indtastede), der også skal hente de øvrige oplysniger på brugeren.
Disse oplysninger kan du så gemme i session-variable, og dermed er de til rådighed på alle dine sider.
Avatar billede tekniskdesigner Nybegynder
30. januar 2004 - 15:47 #12
jamen hvad skal jeg gøre med den kode stump ?

Jeg er helt grøn så forstår det ikke helt, men vis du gider lave filerne til mig med de koder i vil det være fint, evt. som inc. filer ?

vis der er nogle af de sider jeg bruger du vil se så kan du sige til så poster jeg koderne her.
Avatar billede the_bma_man Nybegynder
30. januar 2004 - 15:58 #13
Du skal poste den fil, hvor du checker password er korrekt.
Avatar billede tekniskdesigner Nybegynder
30. januar 2004 - 16:09 #14
<%
' 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("db/db.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("memberssite.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
%>

<!--#include file="inc/toppage.asp"-->

<BR><BR><BR>

<H6 Class="advarsel">
Da vi stadig ligger i design fasen har man valgt at siden <BR>
udelukkende vil være for speciele medlemmer indtil siden er færdig <BR>
</H6>

<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>

<BR>

<H6 Class="advarsel">Har du ingen konto så skriv til <BR>webmaster@thomasnet.dk</H6>

<BR><BR><BR><BR><BR><BR>

<!--#include file="inc/bottompage.asp"-->
Avatar billede the_bma_man Nybegynder
30. januar 2004 - 16:14 #15
' Opbygning af SQL streng
        strSQL = "SELECT UserID FROM Users"&_
            " WHERE (Username = '" & strUID & "')"&_
            " AND (Password = '" & strPWD & "')"

Her kan du jo foruden UserID selecte alle de felter, du ønsker.

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

Så er brugernavnet med også. (Kræver at du har dette felt i tabellen Users)


      If Not (rs.BOF Or rs.EOF) Then
            ' Hvis brugeren fandtes i databasen
            intUID = rs("UserID")
        Else

Her sættes variablen intUID til at være userid fra databasen.
Her kan du også sætte andre variable til at huske de felter, du har taget med i det ovenstående.
      If Not (rs.BOF Or rs.EOF) Then
            ' Hvis brugeren fandtes i databasen
            intUID = rs("UserID")
            Session("Brugernavn") = rs("Brugernavn")
        Else

Nu er der lavet en session-variabel, der indeholder brugernavnet.
Denne kan du bruge på andre sider. F.x. udskrive den med: <% =Session("Brugernavn")%>
Avatar billede tekniskdesigner Nybegynder
30. januar 2004 - 17:08 #16
Oki prøver det lige senere :)
Avatar billede the_bma_man Nybegynder
01. februar 2004 - 23:39 #17
og?
Avatar billede tekniskdesigner Nybegynder
02. februar 2004 - 09:29 #18
Det kan jeg ikke få til at virke.

Så har fundet en anden løsning.

Men tak for forsøget the_bma_man.
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