Avatar billede dolly Nybegynder
05. november 2003 - 22:27 Der er 10 kommentarer og
1 løsning

Checkbox til password og username

Hej!
Hvordan kan man på en forståelig måde lave en checkbox til at huske password og username i denne fil jeg har nedenunder?


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Systematics k&oslash;kken</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
@import url("systematic.css");
-->
</style>
</head>

<body class="overskrifter">
<table width="680" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="60"><img src="grafik/trans.gif" width="80" height="30" border="0"></td>
    <td width="620"></td>
  </tr>
  <tr>
    <td></td>
    <td valign="top" class="overskrifter">Administration<br>
      <img src="grafik/trans.gif" width="6" height="20"> </td>
  </tr>
  <tr>
    <td></td>
    <td valign="top" class="broedtxt"><form name="login" action="login.asp" method="post">
  <table cellspacing="0" cellpadding="3">
    <tr>
            <td width="76" height="30" class="broedtxt"> Brugernavn</td>
      <td width="144"> <input name="nick" type="text"> </td>
    </tr>
    <tr>
            <td height="30" class="broedtxt"> Kodeord</td>
      <td> <input name="kodeord" type="password"> </td>
    </tr>
    <tr>
      <td height="45"align="center">&nbsp; </td>
      <td height="45"><input type="hidden" name="strMode" value="login"> <input name="submit" onFocus="this.blur()" type="submit" class="button" value="Login"></td>
    </tr>
  </table>
</form></td>
  </tr>
</table>

</body>
</html>


Burde måske lige tilføje, at jeg gerne vil have det lidt 'skåret ud i pap', da jeg ikke er hardcore til ASP!

Er 100 point nok?

//D
Avatar billede hf Nybegynder
05. november 2003 - 23:37 #1
På loginsiden tilføjer du dette i FORM'en:
<input type="checkbox" name="remember" value="yes">
og udskift dette:
<input name="nick" type="text">
med dette:
<input name="nick" type="text" value="<%If Request.Cookies("brugernavn") <> "" Then Response.Write Request.Cookies("brugernavn")%>">
og udskift dette:
<input name="kodeord" type="password">
med dette:
<input name="kodeord" type="password" value="<%If Request.Cookies("kodeord") <> "" Then Response.Write Request.Cookies("kodeord")%>">

På siden der modtager login skal du, hvis login er lykkedes, se om der var sat X i huskeboksen - og hvis der er, så sæt cookies med brugernavn og kodeord på denne måde:
<%
If Request.Form("remember") = "yes" Then
  Response.Cookies("brugernavn")=Request.Form("nick")
  Response.Cookies("kodeord")=Request.Form("kodeord")
End If
%>
Avatar billede dolly Nybegynder
06. november 2003 - 13:08 #2
Tusinde tak for hjælpen, HF. Det var sgu effektivt og hurtigt hjælp! TAK!
Derfor vil jeg også give dig pointene!

Jeg skal bare lige høre om en ting, som undrer mig. Når jeg har sat flueben på siden, for at den skal huske password og username og går tilbage senere, så har den godt nok husket det, men der er ikke flueben i checkboxen. Måske det ikke gør den store forskel, det undrer mig bare, for jeg kan se på andre sites med lignende checkbox, der huskes dette flueben.

Kan du svare mig på det? Hvis ikke så bare sig til og du får pointene alligevel!

//D
Avatar billede hf Nybegynder
06. november 2003 - 14:56 #3
Her er en opdatering:
Loginsiden:
<input type="checkbox" name="remember" value="yes" <%If Request.Cookies("remember")="yes" Then Response.Write "checked"%>>
Siden der modtager login:
<%
If Request.Form("remember") = "yes" Then
  Response.Cookies("remember")="yes"
  Response.Cookies("brugernavn")=Request.Form("nick")
  Response.Cookies("kodeord")=Request.Form("kodeord")
Else
  Response.Cookies("remember")="no"
  Response.Cookies("brugernavn")=""
  Response.Cookies("kodeord")=""
End If
%>
Jeg har ikke testet, så sig til hvis der er en bug :@)
Avatar billede dolly Nybegynder
06. november 2003 - 16:56 #4
Nej, desværre...så gør det heller ikke, at fluebenet bliver i min checkbox. Nice try...har du en anden mulighed?

//D
Avatar billede dolly Nybegynder
06. november 2003 - 16:57 #5
min admin_login ser sådan ud nu:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Systematics k&oslash;kken</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
@import url("systematic.css");
-->
</style>
</head>

<body class="overskrifter">
<table width="508" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="80"><img src="grafik/trans.gif" width="80" height="30" border="0"></td>
    <td width="428"></td>
  </tr>
  <tr>
    <td></td>
    <td valign="top" class="overskrifter">Administration<br>
      <img src="grafik/trans.gif" width="6" height="20"> </td>
  </tr>
  <tr>
    <td></td>
    <td valign="top" class="broedtxt"><form name="login" action="login.asp" method="post">
        <table cellspacing="0" cellpadding="3">
          <tr>
            <td width="75" height="30" class="broedtxt"> Brugernavn</td>
            <td width="150"> <input name="nick" type="text" value="<%If Request.Cookies("brugernavn") <> "" Then Response.Write Request.Cookies("brugernavn")%>">
            </td>
            <td colspan="2" class="personaletitel">&nbsp;</td>
          </tr>
          <tr>
            <td height="30" class="broedtxt"> Kodeord</td>
            <td> <input name="kodeord" type="password" value="<%If Request.Cookies("kodeord") <> "" Then Response.Write Request.Cookies("kodeord")%>">
            </td>
            <td width="77" class="personaletitel"><img src="grafik/trans.gif" width="6" height="6">Gem
              log ind</td>
            <td width="20" class="personaletitel"><input type="checkbox" name="remember" value="yes" <%If Request.Cookies("remember")="yes" Then Response.Write "checked"%>></td>
          </tr>
          <tr>
            <td height="45"align="center"></td>
            <td height="45"><input type="hidden" name="strMode" value="login">
              <input name="submit" onFocus="this.blur()" type="submit" class="button" value="Login"></td>
            <td colspan="2" class="personaletitel"></td>
          </tr>
        </table>
</form></td>
  </tr>
</table>

</body>
</html>



og min login sådan her:
<%

strMode = request.form("strMode")

If strMode <> "login" then
  response.redirect "administration.asp"
else

Set strCon = Server.CreateObject("ADODB.Connection")
adoCon = "DRIVER={Microsoft Access Driver (*.mdb)}; "
adoCon = adoCon & "DBQ=" & Server.MapPath("users.mdb")
strCon.Open adoCon

'Create recorset object
Set rsCheckUser = Server.CreateObject("ADODB.Recordset")

strNick = request.form("nick")
strKodeord = request.form("kodeord")

If Request.Form("remember") = "yes" Then
  Response.Cookies("remember")="yes"
  Response.Cookies("brugernavn")=Request.Form("nick")
  Response.Cookies("kodeord")=Request.Form("kodeord")
Else
  Response.Cookies("remember")="no"
  Response.Cookies("brugernavn")=""
  Response.Cookies("kodeord")=""
End If

' laver et record med med det indtaste user med databasen, samt tilhørende password
strSQL = "SELECT admin.navn, admin.nick, admin.kodeord, admin.email "
strSQL = strSQL & "FROM admin "
strSQL = strSQL & "WHERE admin.nick ='" & strNick & "'"

' record laves
rsCheckUser.Open strSQL, strCon

If NOT rsCheckUser.EOF Then
    'læser password fra recordsettet
    If (strKodeord) = rsCheckUser("kodeord") Then
       
        'hvis password er korrekt sættes session variablen UserGood til true
        Session("UserGood") = True
                Session("nick") = StrNick
                Session("kodeord") = rsCheckUser("kodeord")
                Session("email") = rsCheckUser("email")
                Session("navn") = rsCheckUser("navn")

        Response.Cookies("devPartyOn").Domain = "www.heian.dk"
        Response.Cookies("devPartyOn") = rsCheckUser("nick")
        Response.Cookies("devPartyOn").Expires = date + 365

        'resetter objekterne før redirecting
        Set rsCheckUser = Nothing
        Set strCon = Nothing
        Set adoCon = Nothing
       
        'Redirect til admin siden
        Response.Redirect"administration.asp"
    End If
End If
       
'resetter server objects
Set rsCheckUser = Nothing
Set strCon = Nothing
Set adoCon = Nothing

'eller er brugeren ikke godkendt
Session("UserGood") = False
Session("nopass") = True

'redirigerer til en anden side
Response.Redirect"admin_login.asp"

end if
%>

<html>
<body>

</body>
</html>
Avatar billede hf Nybegynder
07. november 2003 - 08:32 #6
Her er en lille rettelse:

Response.Cookies("remember")="yes"
Response.Cookies("remember").Expires = date + 365
Response.Cookies("brugernavn")=Request.Form("nick")
Response.Cookies("brugernavn").Expires = date + 365
Response.Cookies("kodeord")=Request.Form("kodeord")
Response.Cookies("kodeord").Expires = date + 365
Avatar billede dolly Nybegynder
10. november 2003 - 10:11 #7
Hej HF,
Så er jeg tilbage igen. Ja, havde desværre ikke tid til at kigge på det i weekenden. Jeg har prøvet at gøre, som du sidst foreslog, men desværre så husker den stadig ikke mit flueben. Min login.asp-fil ser nu sådan ud;



<%

strMode = request.form("strMode")

If strMode <> "login" then
  response.redirect "administration.asp"
else

Set strCon = Server.CreateObject("ADODB.Connection")
adoCon = "DRIVER={Microsoft Access Driver (*.mdb)}; "
adoCon = adoCon & "DBQ=" & Server.MapPath("users.mdb")
strCon.Open adoCon

'Create recorset object
Set rsCheckUser = Server.CreateObject("ADODB.Recordset")

strNick = request.form("nick")
strKodeord = request.form("kodeord")

If Request.Form("remember") = "yes" Then
Response.Cookies("remember").Expires = date + 365
Response.Cookies("brugernavn")=Request.Form("nick")
Response.Cookies("brugernavn").Expires = date + 365
Response.Cookies("kodeord")=Request.Form("kodeord")
Response.Cookies("kodeord").Expires = date + 365
Else
  Response.Cookies("remember")="no"
  Response.Cookies("brugernavn")=""
  Response.Cookies("kodeord")=""
End If

' laver et record med med det indtaste user med databasen, samt tilhørende password
strSQL = "SELECT admin.navn, admin.nick, admin.kodeord, admin.email "
strSQL = strSQL & "FROM admin "
strSQL = strSQL & "WHERE admin.nick ='" & strNick & "'"

' record laves
rsCheckUser.Open strSQL, strCon

If NOT rsCheckUser.EOF Then
    'læser password fra recordsettet
    If (strKodeord) = rsCheckUser("kodeord") Then
       
        'hvis password er korrekt sættes session variablen UserGood til true
        Session("UserGood") = True
                Session("nick") = StrNick
                Session("kodeord") = rsCheckUser("kodeord")
                Session("email") = rsCheckUser("email")
                Session("navn") = rsCheckUser("navn")

        Response.Cookies("devPartyOn").Domain = "www.heian.dk"
        Response.Cookies("devPartyOn") = rsCheckUser("nick")
        Response.Cookies("devPartyOn").Expires = date + 365

        'resetter objekterne før redirecting
        Set rsCheckUser = Nothing
        Set strCon = Nothing
        Set adoCon = Nothing
       
        'Redirect til admin siden
        Response.Redirect"administration.asp"
    End If
End If
       
'resetter server objects
Set rsCheckUser = Nothing
Set strCon = Nothing
Set adoCon = Nothing

'eller er brugeren ikke godkendt
Session("UserGood") = False
Session("nopass") = True

'redirigerer til en anden side
Response.Redirect"admin_login.asp"

end if
%>

<html>
<body>

</body>
</html>



Gør jeg noget forkert eller?

Håber du stadig er der til at svare?

//D
Avatar billede hf Nybegynder
10. november 2003 - 10:49 #8
Du mangler denne linie:
Response.Cookies("remember")="yes"

For en god ordens skyld må du hellere sætte domain-værdien både hvis remember er "yes" og hvis den er "no":
Response.Cookies("remember").Domain = "www.heian.dk"
Response.Cookies("brugernavn").Domain = "www.heian.dk"
Response.Cookies("kodeord").Domain = "www.heian.dk"
Avatar billede dolly Nybegynder
11. november 2003 - 12:55 #9
Hej HF,
Du må snart være godt træt af mig eller???
Men jeg har nu prøvet at gøre, som du siger og det virker stadig ikke. Det er muligt, jeg sætter tingene ind forkert, da jeg, som jeg vist tidligere har nævnt ikke er nogen super haj til .asp, men gider du så ikke lige forklare det lidt tydeligere for mig, så skal du nok få dine point snart!

Min fil ser nu sådan ud:
<%

strMode = request.form("strMode")

If strMode <> "login" then
  response.redirect "administration.asp"
else

Set strCon = Server.CreateObject("ADODB.Connection")
adoCon = "DRIVER={Microsoft Access Driver (*.mdb)}; "
adoCon = adoCon & "DBQ=" & Server.MapPath("users.mdb")
strCon.Open adoCon

'Create recorset object
Set rsCheckUser = Server.CreateObject("ADODB.Recordset")

strNick = request.form("nick")
strKodeord = request.form("kodeord")

If Request.Form("remember") = "yes" Then
Response.Cookies("remember").Expires = date + 365
Response.Cookies("brugernavn")=Request.Form("nick")
Response.Cookies("brugernavn").Expires = date + 365
Response.Cookies("kodeord")=Request.Form("kodeord")
Response.Cookies("kodeord").Expires = date + 365
Else
  Response.Cookies("remember")="yes"
  Response.Cookies("remember")="no"
  Response.Cookies("brugernavn")=""
  Response.Cookies("kodeord")=""

Response.Cookies("remember").Domain = "www.heian.dk"
Response.Cookies("brugernavn").Domain = "www.heian.dk"
Response.Cookies("kodeord").Domain = "www.heian.dk"
End If 




' laver et record med med det indtaste user med databasen, samt tilhørende password
strSQL = "SELECT admin.navn, admin.nick, admin.kodeord, admin.email "
strSQL = strSQL & "FROM admin "
strSQL = strSQL & "WHERE admin.nick ='" & strNick & "'"

' record laves
rsCheckUser.Open strSQL, strCon

If NOT rsCheckUser.EOF Then
    'læser password fra recordsettet
    If (strKodeord) = rsCheckUser("kodeord") Then
       
        'hvis password er korrekt sættes session variablen UserGood til true
        Session("UserGood") = True
                Session("nick") = StrNick
                Session("kodeord") = rsCheckUser("kodeord")
                Session("email") = rsCheckUser("email")
                Session("navn") = rsCheckUser("navn")

        Response.Cookies("devPartyOn").Domain = "www.heian.dk"
        Response.Cookies("devPartyOn") = rsCheckUser("nick")
        Response.Cookies("devPartyOn").Expires = date + 365

        'resetter objekterne før redirecting
        Set rsCheckUser = Nothing
        Set strCon = Nothing
        Set adoCon = Nothing
       
        'Redirect til admin siden
        Response.Redirect"administration.asp"
    End If
End If
       
'resetter server objects
Set rsCheckUser = Nothing
Set strCon = Nothing
Set adoCon = Nothing

'eller er brugeren ikke godkendt
Session("UserGood") = False
Session("nopass") = True

'redirigerer til en anden side
Response.Redirect"admin_login.asp"

end if
%>

<html>
<body>

</body>
</html>



//D
Avatar billede hf Nybegynder
11. november 2003 - 13:12 #10
Her er hele koden:

<%

strMode = request.form("strMode")

If strMode <> "login" then
  response.redirect "administration.asp"
else

Set strCon = Server.CreateObject("ADODB.Connection")
adoCon = "DRIVER={Microsoft Access Driver (*.mdb)}; "
adoCon = adoCon & "DBQ=" & Server.MapPath("users.mdb")
strCon.Open adoCon

'Create recorset object
Set rsCheckUser = Server.CreateObject("ADODB.Recordset")

strNick = request.form("nick")
strKodeord = request.form("kodeord")

If Request.Form("remember") = "yes" Then
    Response.Cookies("remember").Domain = "www.heian.dk"
    Response.Cookies("remember").Expires = date + 365
    Response.Cookies("remember")="yes"
    Response.Cookies("brugernavn").Domain = "www.heian.dk"
    Response.Cookies("brugernavn").Expires = date + 365
    Response.Cookies("brugernavn")=Request.Form("nick")
    Response.Cookies("kodeord").Domain = "www.heian.dk"
    Response.Cookies("kodeord").Expires = date + 365
    Response.Cookies("kodeord")=Request.Form("kodeord")
Else
  Response.Cookies("remember")="no"
  Response.Cookies("brugernavn")=""
  Response.Cookies("kodeord")=""
End If

' laver et record med med det indtaste user med databasen, samt tilhørende password
strSQL = "SELECT admin.navn, admin.nick, admin.kodeord, admin.email "
strSQL = strSQL & "FROM admin "
strSQL = strSQL & "WHERE admin.nick ='" & strNick & "'"

' record laves
rsCheckUser.Open strSQL, strCon

If NOT rsCheckUser.EOF Then
    'læser password fra recordsettet
    If (strKodeord) = rsCheckUser("kodeord") Then
       
        'hvis password er korrekt sættes session variablen UserGood til true
        Session("UserGood") = True
                Session("nick") = StrNick
                Session("kodeord") = rsCheckUser("kodeord")
                Session("email") = rsCheckUser("email")
                Session("navn") = rsCheckUser("navn")

        Response.Cookies("devPartyOn").Domain = "www.heian.dk"
        Response.Cookies("devPartyOn") = rsCheckUser("nick")
        Response.Cookies("devPartyOn").Expires = date + 365

        'resetter objekterne før redirecting
        Set rsCheckUser = Nothing
        Set strCon = Nothing
        Set adoCon = Nothing
       
        'Redirect til admin siden
        Response.Redirect"administration.asp"
    End If
End If
       
'resetter server objects
Set rsCheckUser = Nothing
Set strCon = Nothing
Set adoCon = Nothing

'eller er brugeren ikke godkendt
Session("UserGood") = False
Session("nopass") = True

'redirigerer til en anden side
Response.Redirect"admin_login.asp"

end if
%>

<html>
<body>

</body>
</html>
Avatar billede dolly Nybegynder
11. november 2003 - 13:18 #11
Tak for hurtig og behjælpsom ekspedition, HF....
You get the pointz!!

//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