03. januar 2002 - 20:05Der er
10 kommentarer og 1 løsning
Login
Hej Jeg ved ikke helt om dette er det rigtige sted at spørge, eller om det høre til under asp, men nu prøver jeg. Jeg har lavet en login side i Dreamweaver, vha log in featuren som følger med, hvor man taster brugernavn og password ind, som den så kontrollere via en access database. Det skal lige siges jeg har lavet en template, med meu som jeg bruger de alle mine sider. Nu vil jeg så gerne hive oplysninger med videre på den efterfølgende side til menuen. Jeg har nemlig et punkt der hedder \"medlem\" og planen er at man skal trykke her på og så kommer ens medlemsoplysninger frem, som man så kan rette i. Derfor forestiller jeg mig at linket skal hedde noget ala medlem.asp?medlemsid=(ens medlemsnr som hives med over når man logger ind) ???? er der nogen der kan hjælpe med dette, og er der nogen der forstår hvad jeg mener?
Det bedste i din situation er at hælde medlemsid ind i et sessionsobjekt. Det kan du tage med dig rundt, så længe brugeren bliver i samme browsersession. Du indsætter denne i den side, som validerer loginproceduren: <% Session(\"medlemsid\") = Request.Form(\"medlemsid\") %> Du kan herefter printe en link hvor du indsætter sessionobjektet, ala <a href=\"medlem.asp?<%= Session(\"medlemsid\") %>\" >ret profil</a>
Så bliver jeg vel nødt til at lave en form, med medlemsid i ved log in. Hvor så brugeren skal taste medlemsnr, brugernavn og password??? Kan jeg ikke nøjes med brugernavn og password, og så kommer medlemsnr, automatisk ind i en session???
Jeg går ud fra at du bruger en form til at lave loginproceduren. I din form sender du bruger videre. Brugernavnet hælder du ned i sessionsobjektet på den side.
Nu ved jeg ikke helt, hvordan den loginfeature ser ud, så det bliver lidt famlende. Prøv eventuelt at dumpe lidt kildekode
Ja, jeg bruger en form til at lave login, og her skal brugeren taste brugernavn og password ind, men det er medlemsnr jeg skal bruge i en session.
Her er et udtræk af koden.
<%@LANGUAGE=\"VBSCRIPT\"%>
<% \' *** Validate request to log in to this site. MM_LoginAction = Request.ServerVariables(\"URL\") If Request.QueryString<>\"\" Then MM_LoginAction = MM_LoginAction + \"?\" + Request.QueryString MM_valUsername=CStr(Request.Form(\"brugernavn\")) If MM_valUsername <> \"\" Then MM_fldUserAuthorization=\"access_level\" MM_redirectLoginSuccess=\"sikker/adminindex.asp\" MM_redirectLoginFailed=\"login.asp?valid=false\" MM_flag=\"ADODB.Recordset\" set MM_rsUser = Server.CreateObject(MM_flag) MM_rsUser.ActiveConnection = MM_cdsj_STRING MM_rsUser.Source = \"SELECT username, password\" If MM_fldUserAuthorization <> \"\" Then MM_rsUser.Source = MM_rsUser.Source & \",\" & MM_fldUserAuthorization MM_rsUser.Source = MM_rsUser.Source & \" FROM logins WHERE username=\'\" & MM_valUsername &\"\' AND password=\'\" & CStr(Request.Form(\"password\")) & \"\'\" MM_rsUser.CursorType = 0 MM_rsUser.CursorLocation = 2 MM_rsUser.LockType = 3 MM_rsUser.Open If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then \' username and password match - this is a valid user Session(\"MM_Username\") = MM_valUsername If (MM_fldUserAuthorization <> \"\") Then Session(\"MM_UserAuthorization\") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value) Else Session(\"MM_UserAuthorization\") = \"\" End If if CStr(Request.QueryString(\"accessdenied\")) <> \"\" And false Then MM_redirectLoginSuccess = Request.QueryString(\"accessdenied\") End If MM_rsUser.Close Response.Redirect(MM_redirectLoginSuccess) End If MM_rsUser.Close Response.Redirect(MM_redirectLoginFailed) End If %>
Html - koden for login (formen) <form name=\"login\" method=\"post\" action=\"<%=MM_LoginAction%>\" onSubmit=\"MM_validateForm(\'brugernavn\',\'\',\'R\',\'password\',\'\',\'R\');return document.MM_returnValue\"> <table width=\"40%\" border=\"0\" align=\"center\"> <tr bgcolor=\"#990000\"> <td colspan=\"2\" class=\"textfed\">Indtast brugernavn og password</td> </tr> <tr bgcolor=\"#990000\"> <td class=\"text\" width=\"27%\">Brugernavn</td> <td width=\"73%\"> <input type=\"text\" name=\"brugernavn\" class=\"frm_feltspc\"> </td> </tr> <tr bgcolor=\"#990000\"> <td class=\"text\" width=\"27%\">Password</td> <td width=\"73%\"> <input type=\"password\" name=\"password\" class=\"frm_feltspc\"> </td> </tr> <tr bgcolor=\"#990000\"> <td colspan=\"2\"> <div align=\"center\"> <input type=\"submit\" name=\"log_in\" value=\"Log in\" class=\"knap\"> </div> </td> </tr> </table> <br> <div align=\"center\"> <span class=\"fejllogin\"> <% If (Request.Querystring(\"valid\") = \"false\") Then %> Du har enten skrevet forkert brugernavn eller password - prøv igen... </span> <% end If %> </div> </form>
Jo, men så har du jo allerede dit brugernavn i Session(\"MM_Username\"). Prøv at dumpe session på siden med denne: <%= Session(\"MM_Username\") %>. Så vil du se, at den indeholder brugernavn.
På alle de sider du efterfølgende laver, kan du på den måde have brugernavnet med dig. Og du kan, som før omtalt, bruge det i links, mv.
ja, så har jeg brugernavnet, men det er ikke det jeg skal have... i samme tabel står det brugernavn, password, medlemsnr m.m. Og i dette tilfælde får jeg brugernavnet med i en session, men jeg skal bruge medlemsnr.
brugernavn kan være admin, kim eller lign., mens brugerid/medlemsnr er et tal. Man skal så skrive kim for at logge ind, men jeg vil gerne bruge brugerid/medlemsnr inde på hjemmesiden.
det står i databasen. I databasen har jeg en tabel, der hedder medlem, i denne tabel, står følgende: medlemsnr, brungernavn, password, e-mail adresse, adresse, tlf, og access-level.
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.