Avatar billede Slettet bruger
12. november 2006 - 15:56 Der er 1 løsning

Login script

Dette script har jeg fra Gruvsjo.com og som er meget tæt på hvad jeg ønsker. Men ikke helt.

<%Response.Buffer = "True"
Session.lcid = 1053

Admin1 = "admin"
Admin2 = "admin"

db = Server.MapPath("db/databas.mdb")

Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db

If Request.Querystring("losen") = "nej"  Then
  mess = "alert('Fel lösenord!');return true;"
End If

If Request.Querystring("anv") = "nej"  Then
  mess = "alert('Användaren finns inte!');return true;"
End If

If Request.Querystring("user") = "ja"  Then
  mess = "alert('Ny användare är nu tillagd!');return true;"
End If

If Request.Querystring("andrauser") = "ja"  Then
  mess = "alert('Användaren är nu ändrad!');return true;"
End If

If Request.Querystring("deluser") = "ja"  Then
  mess = "alert('Användaren är nu borttagen!');return true;"
End If

If Request.Querystring("busy") = "ja"  Then
  mess = "alert('Användarnamnet är upptaget!');return true;"
End If%>

<html>
<head>
<title>Login multi</title>
<link rel="stylesheet" href="stil.css" type="text/css">
<script src="js/js.js"></script>
</head>

<body bgcolor="#f0f0f0" OnLoad="<%=mess%>">

<%If Request.Querystring("visa")="" Then%>

<table width="400">
  <tr>
      <td colspan="2"><b>Logga in!</b></td>
  </tr>
  <tr>
      <td colspan="2"><img src="bilder/dot1.gif"></td>
  </tr>
  <form name="loggain" method="post" action="admin.asp?visa=check">
  <tr>
      <td>Anvnamn:</td><td><input type="text" name="admin1" size="35" value="<%=Request.Cookies("user") %>"></td>
  </tr>
  <tr>
      <td>Lösenord:</td><td><input type="password" name="admin2" size="35"></td>
  </tr>
  <tr>
      <td>Typ av inloggning:</td>
      <td>
        <select name="val" style="width:95">
          <option value="admin">Admin
          <option value="users">Användare
        </select>
      </td>
  </tr>
  <tr>
      <td colspan="2"><img src="bilder/dot1.gif"></td>
  </tr>
  <tr>
      <td>&nbsp;</td><td><input type="submit" value="Logga in"></td>
  </tr>
  </form>
</table>

<%End If

'############################################################################################################
'-----------------------------------KOLLAR VILKEN SORTS INLOGGNING MAN ANVÄNT OCH SKICKAR DIG VIDARE----------------------------------------------
'############################################################################################################

If Request.Querystring("visa")="check" Then

  If Request.Form("val") = "admin" Then

    If Request.Form("admin1") = Admin1 AND Request.Form("admin2") = Admin2 Then
      admin="ok"
    Else
      Response.Redirect "admin.asp?losen=nej"    
    End If

    If admin="ok" Then
      Session("admin") = "ok"
      Session("user") = Request.Form("admin1")
      Session.TimeOut = 40
      Response.Redirect "admin.asp?visa=inne"
    End If

  ElseIf Request.Form("val") = "users" Then

    Set RecSet=Conn.Execute("Select * From users where anvnamn='" & Request.Form("admin1") & "'")
    Response.Cookies("user") = Request.Form("user")

    If Not RecSet.EOF Then
      If Request.Form("admin2") = RecSet("losen") Then
            login="ok"
      Else
          Response.Redirect "admin.asp?losen=nej"   
      End If
    Else
          Response.Redirect "admin.asp?anv=nej"   
    End If

    If login="ok" Then
      Session("login") = "ok"
      Session("user") = Request.Form("admin1")
      Session.TimeOut = 40
      Response.Redirect "admin.asp?visa=inne&user=" & Request.Form("admin1")
    End If
  End If

End If

'############################################################################################################
'-------------------INLOGGAD OCH HÄR KAN MAN LADDA UPP OCH LÄGGA TILL, ÄNDRA OCH TA BORT BILDER OCH ANVÄNDARE------------------------------
'############################################################################################################

If Request.Querystring("visa")= "inne" And Session("admin") = "ok" Then%>
<table width="400">
<tr>
  <td><b><a href="admin.asp?visa=users">Användare</a> &nbsp; <a href="java script:Logut('admin.asp?visa=logut')">Logga ut</a></b></td>
</tr>
<tr>
  <td>Inloggad som admin</td>
</tr>
</table>

<%End If

If Request.Querystring("visa")= "inne" And Session("login") = "ok" Then%>
<table width="400">
<tr>
  <td><b><a href="java script:Logut('admin.asp?visa=logut')">Logga ut</a></b></td>
</tr>
<tr>
  <td>Inloggad som användare</td>
</tr>
</table>

<%End If

'############################################################################################################
'-------------------------------------------------HÄR KAN ÄNDRA ELLER TA BORT ANVÄNDARE-----------------------------------------------------------------
'############################################################################################################

If Request.Querystring("visa")= "users" And Session("admin") = "ok" Then
Set RS = Server.CreateObject("ADODB.Recordset")%>

<table width="400">
<tr><td colspan="3"><b><a href="admin.asp?visa=inne">Adminstart</a> &nbsp; <%If Session("admin") = "ok" Then%><a href="admin.asp?visa=adduser">Lägg till användare</a> &nbsp; <%End If%><a href="java script:Logut('admin.asp?visa=logut')">Logga ut</a></b></td></tr>
<tr><td colspan="3"><img src="bilder/dot1.gif"></td></tr>
<tr><td width='45%'><b>Användarnamn:</b></td><td align="center"><b>Inlagd:</b></td><td>&nbsp;</td></tr>
<tr><td colspan="3"><img src="bilder/dot1.gif"></td></tr>
        <%Const perSida1 = 12
        Sidan = Request.QueryString("sida")
        If Sidan = "" then
          sida = 1
        Else
          sida = Sidan
        End If

        With RS
          .CursorLocation = 3
          .CacheSize = perSida1
        End With

        SQL = "Select * From users Order By datum DESC"
        RS.Open SQL, Conn

        If RS.EOF Then%>
          <tr>
            <td colspan="3">Inga användare inlagda.</td>
          </tr>
        <%Else     

        With RS
          .MoveFirst
          .PageSize = perSida1
          .AbsolutePage = sida
        End With

        Sidor =  RS.PageCount
        X = 0
        Do While Not RS.EOF And X < RS.PageSize
          Response.Write "<tr><td><b>"%><%=RS("anvnamn")%><%Response.Write "</b></td><td align=center>" & FormatDateTime(RS("datum"),2) & "</td><td align=right>" & " <a href='admin.asp?visa=andrauser&id=" & RS("id") & "'><b>Ändra</b></a> &nbsp;"%> <a href="java script:Tabort('admin.asp?visa=deleteuser&id=<%=RS("id")%>')"><b>Ta bort</b></a></td></tr>
        <%X = X + 1
    RS.MoveNext
    Loop

        End If
         
    RS.Close
    Set RS = nothing
    If Sidor > 1 Then%>
<tr><td colspan="3"><img src="bilder/dot1.gif"></td></tr>
    <tr>
      <td colspan="3">
      <%If (Int(sida)) <> 1 Then%>
      <a href="admin.asp?visa=users&sida=<%=(Int(sida)-1)%>"><b>«</b></a>
      <%Else
      End If

        For Sid = 1 To Sidor
        If (Int(Sid)) = (Int(sida)) Then Response.Write Sid Else Response.Write " <a href=admin.asp?visa=users&sida="& Sid &">" & Sid & "</a> " End If
        Next

        If (Int(sida)) <> (Int(Sidor)) AND X > 0 Then%>
        <a href="admin.asp?visa=users&sida=<%=(Int(sida)+1)%>"><b>»</b></a>
        <%Else
        End If%>
      </td>
    </tr>
<%End If%>
</table>

<%End If

'############################################################################################################
'-------------------------------------------------HÄR KAN LÄGGA TILL ANVÄNDRARE---------------------------------------------------------------------------
'############################################################################################################

If Request.Querystring("visa")= "adduser" And Session("admin") = "ok" Then%>

<form action="admin.asp?visa=sparauser" method="POST" name="nyuser" onSubmit="return adduser()">
  <table width="400">
      <tr>
        <td colspan="2"><b><a href="admin.asp?visa=inne">Adminstart</a> &nbsp; <%If Session("admin") = "ok" Then%><a href="admin.asp?visa=users">Användare</a> &nbsp; <%End If%><a href="java script:Logut('admin.asp?visa=logut')">Logga ut</a></b></td>
      </tr>
      <tr>
        <td colspan="2"><img src="bilder/dot1.gif"></td>
      </tr>
      <tr>
        <td colspan="2"><b>Här kan du lägga till användare</b></td>
      </tr>
      <tr>
          <td colspan="2"><img src="bilder/dot1.gif"></td>
      </tr>
      <tr>
          <td><b>Anvnamn:</b></td><td><input type="Text" name="anvnamn" size="35"></td>
      </tr>
      <tr>
          <td><b>Lösenord:</b></td><td><input type="Text" name="losen" size="35"></td>
      </tr>
      <tr>
          <td><b>Namn:</b></td><td><input type="Text" name="namn" size="35"></td>
      </tr>
      <tr>
          <td><b>Email:</b></td><td><input type="Text" name="email" size="35"></td>
      </tr>
      <tr>
          <td colspan="2"><img src="bilder/dot1.gif"></td>
      </tr>
      <tr>
          <td colspan="2"><input type="Submit" name="skicka" value="Lägg till användaren"></td>
      </tr>
  </table>
</form>

<%End If

'############################################################################################################
'-------------------------------------------------HÄR KAN ÄNDRA ANVÄNDARNAS INFO------------------------------------------------------------------------
'############################################################################################################

If Request.Querystring("visa")= "andrauser" And Session("admin") = "ok" Then

Set RecSet = Conn.Execute("Select * From users where id=" & Request.QueryString("id"))%>

<form action="admin.asp?visa=andratuser&id=<%=RecSet("id")%>" method="POST" name="andrauser" onSubmit="return changeuser()">
  <table width="400">
      <tr>
        <td colspan="2"><b><a href="admin.asp?visa=inne">Adminstart</a> &nbsp; <%If Session("admin") = "ok" Then%><a href="admin.asp?visa=users">Användare</a> &nbsp; <%End If%><a href="java script:Logut('admin.asp?visa=logut')">Logga ut</a></b></td>
      </tr>
      <tr>
        <td colspan="2"><img src="bilder/dot1.gif"></td>
      </tr>
      <tr>
        <td colspan="2"><b>Här ändrar du info om en användare!</b></td>
      </tr>
      <tr>
          <td colspan="2"><img src="bilder/dot1.gif"></td>
      </tr>
      <tr>
          <td><b>Anvnamn:</b></td><td><input type="Text" name="anvnamn" size="35" value="<%=RecSet("anvnamn")%>" disabled></td>
      </tr>
      <tr>
          <td><b>Lösenord:</b></td><td><input type="Text" name="losen" size="35" value="<%=RecSet("losen")%>"></td>
      </tr>
      <tr>
          <td><b>Namn:</b></td><td><input type="Text" name="namn" size="35" value="<%=RecSet("namn")%>"></td>
      </tr>
      <tr>
          <td><b>Email:</b></td><td><input type="Text" name="email" size="35" value="<%=RecSet("email")%>"></td>
      </tr>
      <tr>
          <td colspan="2"><img src="bilder/dot1.gif"></td>
      </tr>
      <tr>
          <td colspan="2"><input type="Submit" name="skicka" value="Ändra användaren"></td>
      </tr>
  </table>
</form>

<%End If

'############################################################################################################
'-------------------------------------------------HÄR SPARAS ANVÄNDAREN TILL DATABASEN------------------------------------------------------------------
'############################################################################################################

If Request.Querystring("visa")= "sparauser" And Session("admin") = "ok" Then

Set RS=Conn.Execute("Select * From users")
Do Until RS.EOF

If Request.Form("anvnamn") = RS("anvnamn") Then
  Response.Redirect "admin.asp?visa=users&busy=ja"
End If

RS.MoveNext
Loop
RS.Close

Namn        = Request.Form("namn")
Email        = Request.Form("email")
Anvnamn  = Request.Form("anvnamn")
Losen        = Request.Form("losen")

Conn.Execute("Insert Into users(Namn, Email, Anvnamn, Losen) Values('"& Namn &"','"& Email &"','"& Anvnamn &"','"& Losen &"')")

Response.Redirect "admin.asp?visa=users&user=ja"

End If

'############################################################################################################
'-------------------------------------------------HÄR UPPDATERAS ANVÄNDARENS INFO-----------------------------------------------------------------------
'############################################################################################################

If Request.QueryString("visa") = "andratuser" And Session("admin") = "ok" Then

Namn        = Request.Form("namn")
Email        = Request.Form("email")
Losen        = Request.Form("losen")

Conn.Execute("Update users Set Namn='" & Namn & "',Email= '" & Email & "',Losen='" & Losen & "' Where id=" & Request.QueryString("id"))
Response.Redirect "admin.asp?visa=users&andrauser=ja"

End If

'############################################################################################################
'-------------------------------------------------HÄR RADERAS ANVÄNDAREN----------------------------------------------------------------------------------
'############################################################################################################

If Request.QueryString("visa") = "deleteuser" And Session("admin") = "ok" Then
    Conn.Execute("Delete From Users Where id = " & Request.QueryString("id"))
    Response.Redirect "admin.asp?visa=users&deluser=ja"
End If

'############################################################################################################
'-------------------------------------------------LOGGA UTFRÅN ADMINSIDAN---------------------------------------------------------------------------------
'############################################################################################################

If Request.QueryString("visa") = "logut" Then
  Session.Abandon
  Response.Redirect "admin.asp"
End If%>

</body>
</html>

For det første ønsker jeg admin modulet skilt ud i egen fil således dette tilgås via et subdomæne:
http://admin-mitdomain.com

Men select funktionen bibeholdt således, at der oprettes en db med poster "felt" og "link".

<form name="logInd" method="post" action="cv.asp?visa=check">
Navn: <input type="text" name="admin1" size="35">
Adgangskode:<input type="password" name="admin2" size="35">
Område:
<select name="val" style="width:95">
<option value="admin">Admin
<option value="bruger">Bruger

<select name="omraadet" style="width: 150">
<% SQL = "Select * From felt order by omraadeNavn "
RS.Open SQL, Conn
Do While Not RS.EOF
Response.Write%><option><%=RS("omraadeNavn")%> </option>
<%RS.MoveNext
Loop
%>
<%End if
%>
</select>
<input type="submit" value="Log ind">
</form>

Kaldet bliver derfor noget i retning af:
Set RecSet=Conn.Execute("Select * From users where users.anvnamn='" & Request.Form("admin1") & "' AND  users.losen= '"& Request.Form("admin2") & "' AND  users.omraade= '"& Request.Form("omraadeNavn")& "'")

og ender op med:
Response.Redirect rs1("link")
Hvor link er en post med URL til siden brugeren redirevtes til.

Egentlig kan jeg godt få det til at virke med dette:

<%Response.Buffer = "True"
Session.lcid = 1053
db = Server.MapPath("/Data/databas.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db
If Request.Querystring("anv") = "nej"  Then
  mess = "alert('Forkert adgangskode!');return true;"
End If
If Request.Querystring("bruger") = "nej"  Then
  mess = "alert('Forkert navn!');return true;"
End If
If Request.Querystring("omraadet") = "nej"  Then
  mess = "alert('Du har ikke rettigheder til at logge ind på dette område!');return true;"
End If
%>

<html>
<head>
<title></title>
<link rel="stylesheet" href="style1.css" type="text/css">
<script src="js/js.js"></script>
</head>
<body OnLoad="<%=mess%>">
<%If Request.Querystring("visa")="" Then%>
<table width="630" border="1" align="center" cellpadding="12">
<tr>
                    <form name="logInd" method="post" >
                   
                    <tr>
                        <td>Navn:</td><td><input type="text" name="admin1" size="35">
                        </td>
                </tr>
                <tr>
                        <td>Adgangskode:</td><td><input type="password" name="admin2" size="35">
                        </td>
                </tr>
                <tr>
                        <td>Område:
                        </td>
                        <td>
                        <select name="omraadet" style="width: 150">
                          <%           
                          SQL = "Select * From felt order by omraadeNavn "
                          RS.Open SQL, Conn
                          Do While Not RS.EOF
                          Response.Write "<b>"%><option><%=RS("omraadeNavn")%> </option> </b>
                          <%    RS.MoveNext
                                Loop
                          %>
                          <%    End if
                          %>
                        </select>
                    </td>
                </tr>
                <tr>
                        <td>&nbsp;</td><td><input type="submit" omraadet="Log ind">
                        </td>
                </tr>
                </form>
            </td>
</td>           
</tr>
</table>
<%
    Set RecSet=Conn.Execute("Select * From users where users.anvnamn='" & Request.Form("admin1") & "' AND  users.losen= '"& Request.Form("admin2") & "' AND  users.omraade= '"& Request.Form("omraadet")& "'")
  ' Response.Cookies("user") = Request.Form("user")
    If Not RecSet.EOF Then
      If Request.Form("admin1") = RecSet("anvNamn") Then
            login="ok"
                Else
          Response.Redirect "fejl.asp?anv=nej"   
    End If
   
    If Not RecSet.EOF Then
      If Request.Form("admin2") = RecSet("losen") Then
            login="ok"
        Else
          Response.Redirect "cv.asp?adKode=nej"   
      End If       
        If Not RecSet.EOF Then
      If Request.Form("omraadet") = RecSet("omraade") Then
            login="ok"
    Else
          Response.Redirect "cv.asp?omraadet=nej"   
    End If
    If login="ok" Then
      Session("login") = "ok"
            SQL = "Select * From users where omraade='" & Request.Form("omraadet") & "' AND anvnamn='" & Request.Form("admin1") & "'"
        set rs1 = conn.execute(SQL)
        if not rs1.eof Then
        Response.Redirect rs1("link")
        'Response.Write rs1("<a href='" & link &"', '" & target & "'></a>")
        'response.write "<a href=" & rs1("link")&",target=" &rs1("target")&"></a>"
        end if
      End if
  End If
End if
End If
%>
</body>
</html>

Det er altså et script med en db (.mdb).
Brugeren skal vælge et område i selectboksen.
Skrive brugernavn og adgangskode og bliver redirectet til den side brugeren må anvende vi posten link.

Men alert popup virker dog ikke og hvad cockies og <%Response.Buffer = "True"
Session.lcid = 1053 betyder ved jeg heller ikke noget om.
Så om det efter mine indgreb vil være et ”sikkert script” kan jeg ikke gennemskue.

Men vil meget gerne have hjælp til at lave det.
Avatar billede Slettet bruger
12. november 2006 - 18:31 #1
Ok jeg lukker
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