Ellers kan du benytte nedenstående kode til at logge dine brugere ind med.
login.asp ---------------------------------------- <%Set rs=Server.CreateObject("ADODB.RecordSet") Set Conn=Server.CreateObject("ADODB.Connection") Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("/db/database.mdb")
Set rs=Conn.Execute("SELECT * FROM [users] WHERE [username]='"&Request.Form("username")&"' And '"&Request.Form("password")&"'") If Not rs.EOF Then Session("username")="" Response.Redirect "wronglogin.asp" Else Session("username")=rs("username") Response.Redirect "oklogin.asp" End If rs.Close
Conn.Close set Conn=nothing%> ---------------------------------------- Her i koden hedder databasen "database.mdb" og ligger i mappen "db". Brugertabellen hedder "users", brugernavnfeltet hedder "username", passwordfeltet hedder "password", og hvis man ikke eksisterer, bliver man videresendt til siden "wronglogin.asp". Hvis login'en er i orden, opbevares brugernavnet i Session("username") og man videresendes til "oklogin.asp".
Så kan du indsætte <%If Session("username")="" Then Response.Redirect "wronglogin.asp"%> på de sider, som skal være passwordbeskytte. Og ved logud kan du bare køre <%Session.Abandon%> - så nulstilles alle sessions.
Brugere kan så logge ind fra en anden side med: ------------------------------------ <form method="post" action="login.asp"> Brugernavn: <input type="text" name="username"><br> Password: <input tyoe="text" name="password"><br> <input type="submit" value="Log ind"> </form> ------------------------------------ I øvrigt var der en fejl i login.asp-koden.
Set rs=Conn.Execute("SELECT * FROM [users] WHERE [username]='"&Request.Form("username")&"' And '"&Request.Form("password")&"'") skulle være: Set rs=Conn.Execute("SELECT * FROM [users] WHERE [username]='"&Request.Form("username")&"' And [password]='"&Request.Form("password")&"'")
har lige fundet ud af at det er fordi de ikke understøtter access database på webhotellet så de 3 forskellige side jeg skal bruge skal ikke bruge sådan en
Ok. Så er det vel ret omfattende? Du har allerede en access database, right? Så du skal have alt fra den over i en anden database, som one.com understøtter.
Princippet er det samme. Når login er godkendt fra databasen opbevarer du bare brugernavnet i en Session - evt. Session("username") - og så kan du teste, om den er tom, på de sider, der skal være passwordbeskyttet. Er den tom, er man ikke logget ind. Ved logud bruger du blot Session.Abandon .
Hvis du ønsker at vise brugeren hans brugernavn, kan du bare bruge:
det var ikke lige til at forstå for min viden. fik lavet disse 3 sider og er baseret på en access database
dette understøtter de ikke og derfor skal jeg bruge 3 nye sider som kan logge en bruger ind og logge ud og den tekst som skal stå på den password sikret side
alle som bruger siden bruger det samme adgang og password så databasen som jeg har har kun et reg..
Ah, så faktisk behøver man slet ikke bruge database?
Så bruger du bare: --------------------------------- <%strBrugernavn="pære" strPassword="æble"
If strBrugernavn<>Request.Form("brugernavn") Or strPassword<>Request.Form("password") Then Session("username")="" Response.Redirect "wronglogin.asp" Else Session("username")=strBrugernavn Response.Redirect "oklogin.asp" End If%> --------------------------------- Så ændrer du bare strBrugernavn og strPassword øverst.
login.asp: ------------------------------------------------ <%If Request.Querystring("mode")="submit" Then strBrugernavn="pære" strPassword="æble"
If strBrugernavn<>Request.Form("brugernavn") Or strPassword<>Request.Form("password") Then Session("username")="" Response.Redirect "login.asp?error=wronglogin" Else Session("username")=strBrugernavn Response.Redirect "oklogin.asp" End If End If%>
<form method="post" action="login.asp?mode=submit"> <h2>Log ind</h2> <%If Request.Querystring("error")="wronglogin" Then Response.Write "<span class=""color:#800000"">Brugernavn og password var ikke korrekt!</span>" ElseIf Request.Querystring("error")="notloggedin" Then Response.Write "<span class=""color:#800000"">Du skal være logget ind for at se denne side!</span>" ElseIf Request.Querystring("mode")="loggedout" Then Response.Write "<span class=""color:#008000"">Du er nu logget ud!</span>" End If%> Brugernavn: <input type="text" name="username"><br> Password: <input type="text" name="password"><br> <input type="submit" value="Log ind"> </form> -----------------------------------------------
oklogin.asp ----------------------------------------------- <%If Session("username")="" Then Response.Redirect "login.asp?error=notloggedin"%> <p>Du er nu logget ind<br> <a title="Log ud" href="logout.asp">Log ud</a></p> -----------------------------------------------
Det er mig, der er dum. Form-felterne hedder jo username og password, og jeg tjekker på brugernavn og password. Så if-sætningen skal være: If strBrugernavn<>Request.Form("username") Or strPassword<>Request.Form("password") Then
og ikke: If strBrugernavn<>Request.Form("brugernavn") Or strPassword<>Request.Form("password") Then i login.asp
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.