Avatar billede chainweb Nybegynder
09. juni 2006 - 08:36 Der er 15 kommentarer og
1 løsning

Login script

Jeg har et login script, som står nedenunder. Efter login bliver siden stillet videre til default.asp. På denne side kunne jeg godt tænke mig at login navnet bliver noteret¨på siden. Altså hvis jeg logger ind med "mads" så står der "velkommen mads" efter login (på default.asp) siden. Jeg bruger mdb.

<% Session.LCID =1030 %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../css/style.css" rel="stylesheet" type="text/css">
</head>

<body bgcolor="#ECE9D8">
<div align="left">
<table width="17%" border="0" cellspacing="0" cellpadding="0">

  <tr>
    <td>
      <%
SET RS = Server.CreateObject("ADODB.Connection")
rs.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../db/jittytre.mdb")

If Request("mode") = "Check" then

Function unQuote(strTekst)
  strTekst = Trim(strTekst)
  unQuote = Replace(strTekst,"%","53")
End Function

    '
        strusername = Trim(Replace(request.form("username"),"'","''" ))
        strpassword = Trim(Replace(request.form("password"),"'","''" ))

  Sql = "Select Count(*) as Found from user where (username = '" & strUsername  & "') and (password ='" & strPassword  & "')"
  Set LO = RS.Execute(Sql)
  if LO("Found") = 0 then
    Session("login") = ""
    error = "Du blev ikke godkendt af systemet"
  else
  strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../db/jittytre.mdb")
  Set myConn = Server.CreateObject("ADODB.Connection")
  myConn.Open strDSN
  strSQL = "SELECT * FROM user where (username = '" & Request("username") & "') and (password ='" & Request("password") & "')"
  Set ez = myConn.Execute(strSQL)
    Session("login") = "yes mate"
    Response.Redirect "default.asp"
    EZ.Close
    RS.Close
    Conn.Close
  end if
end if
%>
      <form method="POST" action="login.asp">
        <input type="hidden" name="mode" VALUE="Check">
        <b>Stibolt.nu -login:</b>
        <table width="222" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="19">&nbsp;</td>
          </tr>
          <tr>
            <td>&nbsp;Brugernavn:&nbsp; <input class='input' type='text' name='username' size='25' value="<%=strbrugernavn%>"></td>
          </tr>
          <tr>
            <td> &nbsp;Kodeord:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input class="input" type="password" value="" name="password" size="25">
            </td>
          </tr>
        </table>
        <b><%=error%></b>
        <p>
          <input class="input" type="submit" value="Login" name="submit2">
        </p>
      </form></td>
  </tr>
</table>
</div>
&nbsp;
        </body>
</html>

Navnet på den bruger der logger ind står under;
jittytre.mdb --> user --> username
Avatar billede fennec Nybegynder
09. juni 2006 - 08:45 #1
Hele dit login, kan gøres kortere og mere effektiv:

Sql = "Select * as Found from user where (username = '" & strUsername  & "') and (password ='" & strPassword  & "')"
Set LO = RS.Execute(Sql)
if LO.eof  then
  Session("login") = ""
  error = "Du blev ikke godkendt af systemet"
else
  Session("login") = "yes mate"
  Session("Name") = LO("username")
  Response.Redirect "default.asp"
  RS.Close
  Conn.Close
end if

Så har du navnet til at ligge i Session("Name")
Avatar billede fennec Nybegynder
09. juni 2006 - 08:46 #2
Var lige en fejl. Der skal ikke være "as found" med på selecten:

Sql = "Select * from user where (username = '" & strUsername  & "') and (password ='" & strPassword  & "')"
Avatar billede chainweb Nybegynder
09. juni 2006 - 11:09 #3
Ja ok. Men det svarer stadig ikke på mit spørgsmål ang. præsentation af "name" på default.asp?
Avatar billede fennec Nybegynder
09. juni 2006 - 11:36 #4
Som sagt har du det til at ligge i session("name") variablen, så det er bare at udskrive den:

<%= "Velkommen "& session("name") %>
Avatar billede chainweb Nybegynder
09. juni 2006 - 11:41 #5
Ja ok..  Men det skal sættes ind i mit default.asp, men skal databasen ikke åbnes først? Det skal lige siges at jeg ikke er den største asp geek.. hehe ;)

Default.asp;

<% Session.LCID =1030 %>
<html>

<head>
<meta http-equiv="Content-Language" content="da">
<title>stibolt.nu</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link href="../css/style.css" rel="stylesheet" type="text/css">
</head>

<body bgcolor="#ECE9D8">


<body>
      <%
if session("login") = "" Then
Response.redirect("http://www.stibolt.nu/cms/admin/login.asp")
end if
%>

<table width="196" border="0" cellspacing="0" cellpadding="0" align="left" id="table3"><tr>
    <td align="left" bgcolor="#800000">
    <font face="Verdana" style="font-size: 8pt; font-weight: 700" color="#FFFFFF">
    Stibolt.nu - nyheder - galleri</font></td></tr></table>

<p>&nbsp;</p>
<table width="197" border="0" cellspacing="0" cellpadding="0" align="left" id="table2"><tr>
    <td align="left"><b><font style="FONT-SIZE: 8pt" face="Verdana">
    <br>
    </font></b><br>
    <b><font style="FONT-SIZE: 8pt" face="Verdana"><br>
    <img height="8" src="http://www.stibolt.nu/pictures/pil_h.gif" width="10" border="0"></font></b><font face="Verdana" style="font-size: 8pt">
            <span style="text-decoration: none">
    <a href="logoff.asp"><font color="#000000">Logaf</font></a></span></font></td></tr></table>

</body>

</html>
Avatar billede fennec Nybegynder
09. juni 2006 - 11:51 #6
Nej. Session variabler er globale variabler, og er de først sat på en side kan de tilgåes fra alle andre sider. Det er også det du udnytter med din Session("login"), som tjekker om brugeren er logget ind eller ej. Du skal altså bare udskrive den :o)

Prøv f.eks at lave disse to sider:
[test1.asp]
<%
session("test") = "Hej med dig"
%>

[test2.asp]
<%
response.write session("test")
%>

Hvis du går ind på test2 først sker der intet. Går du så ind på test1 og tilbage til test2 udskriver den "Hej med dig".
Avatar billede chainweb Nybegynder
09. juni 2006 - 11:59 #7
okay.. og med følgende skriftype samt størrelse;

<p><font face="Verdana" style="font-size: 8pt"><b>Velkommen </b></font>

Bliver det til?
Avatar billede chainweb Nybegynder
09. juni 2006 - 12:03 #8
Ahh.. nu skal jeg lige være helt med.. Min login.asp seksion kommer til at se således ud?;

      <%
SET RS = Server.CreateObject("ADODB.Connection")
rs.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../db/jittytre.mdb")

If Request("mode") = "Check" then

Function unQuote(strTekst)
  strTekst = Trim(strTekst)
  unQuote = Replace(strTekst,"%","53")
End Function

    '
        strusername = Trim(Replace(request.form("username"),"'","''" ))
        strpassword = Trim(Replace(request.form("password"),"'","''" ))

Sql = "Select * from user where (username = '" & strUsername  & "') and (password ='" & strPassword  & "')"
Set LO = RS.Execute(Sql)
if LO.eof  then
  Session("login") = ""
  error = "Du blev ikke godkendt af systemet"
else
  Session("login") = "yes mate"
  Session("Name") = LO("username")
  Response.Redirect "default.asp"
  RS.Close
  Conn.Close
end if
%>
Avatar billede fennec Nybegynder
09. juni 2006 - 12:11 #9
Nemlig. Så bliver session("name") nemlig sat, og din udskrift bliver så bare:

<p><font face="Verdana" style="font-size: 8pt"><b>Velkommen <%= session("name") %></b></font>
Avatar billede chainweb Nybegynder
09. juni 2006 - 12:13 #10
okay.. men mit default.asp virker ikke nu? ;(
Avatar billede chainweb Nybegynder
09. juni 2006 - 12:15 #11
undskyld.. mener selvfølgelig login.asp
Avatar billede chainweb Nybegynder
09. juni 2006 - 12:16 #12
HELE login.asp ser således ud:

<% Session.LCID =1030 %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../css/style.css" rel="stylesheet" type="text/css">
</head>

<body bgcolor="#ECE9D8">
<div align="left">
<table width="17%" border="0" cellspacing="0" cellpadding="0">

  <tr>
    <td>
      <%
SET RS = Server.CreateObject("ADODB.Connection")
rs.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../db/jittytre.mdb")

If Request("mode") = "Check" then

Function unQuote(strTekst)
  strTekst = Trim(strTekst)
  unQuote = Replace(strTekst,"%","53")
End Function

    '
        strusername = Trim(Replace(request.form("username"),"'","''" ))
        strpassword = Trim(Replace(request.form("password"),"'","''" ))

Sql = "Select * from user where (username = '" & strUsername  & "') and (password ='" & strPassword  & "')"
Set LO = RS.Execute(Sql)
if LO.eof  then
  Session("login") = ""
  error = "Du blev ikke godkendt af systemet"
else
  Session("login") = "yes mate"
  Session("Name") = LO("username")
  Response.Redirect "default.asp"
  RS.Close
  Conn.Close
end if
%>
      <form method="POST" action="login.asp">
        <input type="hidden" name="mode" VALUE="Check">
        <b>Stibolt.nu -login:</b>
        <table width="222" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="19">&nbsp;</td>
          </tr>
          <tr>
            <td>&nbsp;Brugernavn:&nbsp; <input class='input' type='text' name='username' size='25' value="<%=strbrugernavn%>"></td>
          </tr>
          <tr>
            <td> &nbsp;Kodeord:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input class="input" type="password" value="" name="password" size="25">
            </td>
          </tr>
        </table>
        <b><%=error%></b>
        <p>
          <input class="input" type="submit" value="Login" name="submit2">
        </p>
      </form></td>
  </tr>
</table>
</div>
&nbsp;
        </body>
</html>
Avatar billede fennec Nybegynder
09. juni 2006 - 12:28 #13
Du får sikket en "manglende END" fejl. Der mangler nemlig en end if :o)

  RS.Close
  Conn.Close
end if
end if
Avatar billede chainweb Nybegynder
09. juni 2006 - 12:30 #14
Ahh.. hehe.. den havde jeg ikke lige set.. det virker nu.. Sender du svar?

MANGE gange tak for hjælpen og fortsat god dag :)

Mvh
Avatar billede fennec Nybegynder
09. juni 2006 - 12:39 #15
Og god weekend til dig.
.o) <-- One Eyed Jack
Avatar billede chainweb Nybegynder
09. juni 2006 - 12:41 #16
Tak og i lige måde.. :D
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