Avatar billede thomaskramer Juniormester
26. november 2005 - 08:39 Der er 2 kommentarer og
1 løsning

Login-side

Nogen der kan hjælpe med et simpelt login-script?

Jeg har lavet en side, hvor kunden skal logge ind fra.

Der skal kun være eet brugernavn, og een adgangskode (alle kunder bruger sammen login-info)

Ved login skal brugeren bare vises hen til een bestemt side.

Nogen der kan hjælpe?
(fortæl mig evt. hvis scriptet bør laves i andet sprog end ASP - jeg selv har ingen forstand på programmering)
Avatar billede mvhansen Nybegynder
26. november 2005 - 10:35 #1
Her er en med access.mdb

Du laver en database der heder database.mdb.
Der i laver du feltnavn (brugernavn,adgangskode,retigheder)
---------------------------------------------------------
Så laver du en side der heder login.asp

<!-- #include file="connSetup.asp" -->
<%
if Request.Form("login") <> "" then
  strSQL = "SELECT id, retigheder " & _
      "FROM bruger " & _
      "WHERE brugernavn = '" & Replace(cstr(Request.Form("username")),"'","''") & "' " & _
      "AND adgangskode = '" & Replace(cstr(Request.Form("password")),"'","''") & "'"
   
  ' Find brugeren
  set objConn = getConnected()
  set objRs = objConn.Execute(strSQL)
   
  ' Hvis der var et resultat, så findes brugeren og login informationerne var korrekte!
  if not objRs.EOF then
    ' Læg brugerens ID i en session-variabel så vi ved hvem der er logget på
    Session.Contents("userid") = cstr(objRs("ID"))
    Session.Contents("pageaccess") = cstr(objRs("retigheder"))
  end if
   
  ' Oprydning!
  objRs.Close
  objConn.Close
  set objRs = nothing
  set objConn = nothing
   
  ' Naviger til den side som oprindelig blev forespurgt
  Response.Redirect Request.ServerVariables("SCRIPT_NAME")
end if
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <title>Login</title>
  </head>
  <body>
   
    <form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="post">
      &nbsp;<p align="center">&nbsp;</p>
        <p align="center">&nbsp;</p>
        <p align="center">&nbsp;</p>
        <p align="center"><font size="7"><b>TEKST HVAD DU VIL SKRIVE</b></font></p>
        <p align="center">&nbsp;</p>
        <p align="center"><font size="4"><b>Brugernavn:</b></font>&nbsp;&nbsp;&nbsp; <input type="text" name="username"></p>
        <p align="center"><font size="4"><b>Adgangskode:</b></font> <input type="password" name="password"></p>
        <p align="center"><br>
      <input type="submit" name="login" value="Log på" style="font-size: 12pt; font-weight: bold">
        </p>
    </form>

  </body>
</html>
------------------------------------------------------------------------------
Så laver du en side der heder connSetup.asp

<%
function getConnected()
  dim strConn, objConn
 
  strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("database.mdb")
  set objConn = Server.CreateObject("ADODB.Connection")
  ' Forbind til databasen
  objConn.Open strConn

  set getConnected = objConn
end function
%>

----------------------------------------------------------------------
Så laver du en side der heder checkprotect.asp

<%
function checkAccess(pageNumber)
  dim hasAccess
  hasAccess = (instr(1, "," & session("pageaccess") & ",", "," & pageNumber & ",") > 0)
  checkAccess = hasAccess
end function

if (session.contents("userid")&"" = "") or not checkAccess(thisPageNumber) then
  server.transfer "login.asp"
end if
%>

-------------------------------------------------------------------------
Og på den side du skal have beskyttet med brugernavn,adgangskode sidter du ind foroven på siden

<% thisPageNumber = 1 %>
<!-- #include file="checkprotect.asp" -->

---------------------------------------------------------------------------
thisPageNumber = 1 eller 2 eller 3 også vider
er hvis du har flere sider der skal beskyttes og forskellig retigheder
så kun nogle bruger kan login på nogle beskyttetsider
det kan du sidte i database.mdb under retigheder

Det er noget jeg har fået hjælp til het på Eksperten.dk

mvh
mvhansen
Avatar billede hifi4all Nybegynder
27. november 2005 - 10:44 #2
Hvis brugerne blot skal samme brugernavn og password, er ovenstående overflødigt, om end mere brugbart i flere sammenhænge!

For mere simple løsning uden database, gør følgende:

------------------------------------

1. Opret en siden med login formular - HUSK at alle sider i denne ekspempel bruger filendelsen .asp!!! (siden.html dur ikke!)

Siden her er navngivet "defalut.asp"

------------------------------------

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta http-equiv="Content-Language" content="da">
<title>Simpel login med ASP</title>
<style type="text/css">
<!--
TD,P,BODY {font-family:Verdana;font-size:11px}
a{text-decoration:none;color:#000000}
A:hover {text-decoration: underline}
input,textarea,select {  font-family: Verdana; font-size: 11px; color: #000000}
-->
</style>
<SCRIPT  language="JavaScript">
<!-- Hide from older browsers
function CheckFormLOGIN () {
var errorMsg = "";
if (document.LOGIN.ID.value == ''){
errorMsg += "\n\Bruger ID: \t- Angiv venligst bruger ID!";
}
if (document.LOGIN.PASS.value == ''){
errorMsg += "\n\Password: \t- Angiv venligt password!";
}
if (errorMsg != ""){
msg = "__________________________________________________    \n\n";
msg += "Login fejlede, da der er mangler i forumularen!.\n";
msg += "Ret eller udfyld venligst, og prøv igen.\n";
msg += "__________________________________________________    \n\n";
msg += "Følgende felter skal udfyldes eller rettes: \n";
errorMsg += alert(msg + errorMsg + "\n\n");
return false;
}
LOGIN.SUBMIT.disabled=true;
return true;
}
// -->
</script>
</head>

<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="100%" align="center" height="55"><b><font size="4">Simplet ASP login<br></font></b>(bruger ID = demo / password = demo)<%
if request.querystring ("MSG") = 1 then
Response.Write ("<br><br><font color=""#FF0000"">Brugernavn eller password er forkert!</font><br><br>")
end if
if request.querystring ("MSG") = 2 then
Response.Write ("<br><br><font color=""#FF0000"">Du skal være logget ind for at få adgang til siden!</font><br><br>")
end if
%></td>
</tr>
<tr>
<td width="100%" align="center" valign="top"><table border="0" cellpadding="0" cellspacing="1" width="300" bgcolor="#999999">
<tr>
<td width="100%">
<form ACTION="login.asp" METHOD="post" name="LOGIN" onSubmit="return CheckFormLOGIN();">
<table border="0" cellpadding="4" width="100%" bgcolor="#EBEBEB" cellspacing="4">
<tr>
<td width="30%"><b>Bruger ID:</b></td>
<td width="64%"><input type="text" name="ID" style="width: 180"></td>
<td width="6%">&nbsp;</td>
</tr>
<tr>
<td width="30%"><b>Password:</b></td>
<td width="64%"><input type="password" name="PASS" style="width: 180"></td>
<td width="6%"></td>
</tr>
<tr>
<td width="30%"></td>
<td width="64%" align="right"><input type="submit" value="Login »" name="LOGIN" style="font-weight: bold; cursor:pointer;cursor:hand" title="Login"></td>
<td width="6%"></td>
</tr>
</form>
</table>
</td>
</tr>
</table></td>
</tr>
</table>
</body>

</html>

------------------------------------

2. Opret en side som checker login og tildel brugeren en session, som angiver at brugeren er logget ind. Siden her er navngivet "login.asp"

------------------------------------

<%
Option Explicit

Response.Buffer = true
Response.Expires = -1
Response.ExpiresAbsolute = Now() - 2
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "No-Store"

Dim bruger, pass
bruger = CStr(Request.Form("ID"))
pass = CStr(Request.Form("PASS"))

If bruger = "demo" AND pass = "demo" then
Session.contents("login") = 1
Response.Redirect "login_ok.asp"

else

Response.Redirect("default.asp?MSG=1")

end if
%>

------------------------------------

3. Opret en side, som inkluderes på de sider som ønskes beskyttet. Husk igen at det KUN er sider med endelserne .asp som kan beskyttes.

Bemærk at den inkludrede fil skal ligge i toppen af de sider som ønskes beskyttet

Siden her er navngivet "tjeklogin.asp"

------------------------------------

<%
Option Explicit

If Session.contents("login") <> 1 then
Response.Redirect("default.asp?MSG=2")
end if
%>

------------------------------------

4. Her et eksempel på en side, som er beskyttet med login.

Siden er navngivet "login_ok.asp"

------------------------------------

<!-- #include file="tjeklogin.asp" -->
<html>

<head>
<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Simpel login med ASP</title>
<style type="text/css">
<!--
TD,P,BODY {font-family:Verdana;font-size:11px}
a{text-decoration:none;color:#000000}
A:hover {text-decoration: underline}
input,textarea,select {  font-family: Verdana; font-size: 11px; color: #000000}
-->
</style>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="100%" align="center" height="50" valign="top"><b><font size="4" color="#FF0000">Beskyttet side!</font></b></td>
</tr>
<tr>
<td width="100%" align="center">Denne side er beskyttet med password!<br><br>Er bruger ikke logget ind, vil brugere blive videresendt til loginformularen med besked om at bruger skal logge ind!</td>
</tr>
</table>

</body>

</html>

------------------------------------

Demo, afprøv eksempel:
http://www.zonedesign.dk/eksperten/logindemo/

Download kode:
http://www.zonedesign.dk/eksperten/logindemo/login.zip

Håber det kan bruges ;O)
Avatar billede mvhansen Nybegynder
19. maj 2006 - 22:11 #3
Hej thomaskramer

skal du ikke have lukket dit Spørgsmål


Mvh

mvhansen
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