Avatar billede monstermand Nybegynder
15. juni 2002 - 20:12 Der er 24 kommentarer og
1 løsning

Cookie

Hej,

jeg har lige fået hjælp til at lave nedenstående, dog var alt "cookiekildekoden" placeret i en anden fil. Herefter forsøgte jeg at sætte alt koden over i nedenstående fil. Jeg får ingen fejlmeddelelser, men brugernavn og password bliver ikke gemt! Hvad har jeg gjort forkert?

<%

On Error Resume Next

Session.Contents.RemoveAll()

If (Request.Form("Action") <> "") Then

If (Request.Form("twLogonGemBrugernavn") = "True") Then
      Response.Cookies("twLogonLastLogon")("Brugernavn") = Request.Form("username")
      Response.Cookies("twLogonLastLogon")("Password") = Request.Form("password")
      Response.Cookies("twLogonLastLogon")("Gembrugernavn") = "True"
      Response.Cookies("twLogonLastLogon").Expires = DateAdd("d", 7, Date)
  Else
    Response.Cookies("twLogonLastLogon")("Brugernavn") = ""
    Response.Cookies("twLogonLastLogon")("Password") = ""
      Response.Cookies("twLogonLastLogon")("Gembrugernavn") = "False"
      Response.Cookies("twLogonLastLogon").Expires = Date-1
  End If
  Response.Cookies("twLogonLastLogon").Domain = Request.ServerVariables("SERVER_NAME")
  Response.Cookies("twLogonLastLogon").Path = Left(Request.ServerVariables("SCRIPT_NAME"),InStrRev(Request.ServerVariables("SCRIPT_NAME"),"/")-1)


End If

%>


<html>
<title>IT-Site</title>
<head>
</head>


<table border="1">
<form method="post" action="login.asp" name="adminlogin">
  <tr><td>Brugernavn:</td><td><input name="username" value="<%=Request.Cookies("twLogonLastLogon")("Brugernavn")%>"></td></tr>
  <tr><td>Password:</td><td><input type="password" name="password" value="<%=Request.Cookies("twLogonLastLogon")("Password")%>"></td></tr>
  <tr><td>Cookie:</td><td>  <input name="twLogonGemBrugernavn" type="checkbox" value="True" <%If ((Request.Cookies("twLogonLastLogon")("Gembrugernavn") = "True") Or (Not Request.Cookies("twLogonLastLogon")("Gembrugernavn") = "False")) Then Response.Write "checked"%>>Gem brugernavn i cookie</td></tr>
  <tr><td colspan="2" align="center"><input type="submit" value="Login" name="Action"></td></tr>
</form>
</table>

<%
If (Request.Cookies("twLogonLastLogon")("Brugernavn") <> "") Then
%>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
document.adminlogin.username.focus();
//-->
</SCRIPT>

<%
Else
%>

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
document.adminlogin.password.focus();
//-->
</SCRIPT>

<%
End If
%>

</body>
</html>
Avatar billede eagleeye Praktikant
15. juni 2002 - 20:16 #1
du får ingen fejl fordi du har sat:
On Error Resume Next

ind i toppen af filen, så hvis der er en fejl forsætter den uden at melde fejlen.
Avatar billede monstermand Nybegynder
15. juni 2002 - 20:17 #2
ok - men den virker stadig ikke..(?)
Avatar billede monstermand Nybegynder
15. juni 2002 - 20:19 #3
godt - så har jeg fjernet den og fik allerede første fejl:

Microsoft VBScript runtime error '800a01b6'

Object doesn't support this property or method: 'Session.Contents.RemoveAll'

/proeve/index.asp, line 3
Avatar billede monstermand Nybegynder
15. juni 2002 - 20:21 #4
sådan..nu er der ingen fejl - men den gemmer stadig ikke :o(
Avatar billede monstermand Nybegynder
15. juni 2002 - 20:25 #5
har selv fundet den tror jeg ... forkert actionreference
Avatar billede monstermand Nybegynder
15. juni 2002 - 20:26 #6
ved ikke hvad mit trip er - har ikke fundet fejlen alligevel :o(((
Avatar billede eagleeye Praktikant
15. juni 2002 - 20:27 #7
Har du slået cookies til i din browser jeg har lige prøvet og kopier koden og det virker fint.
Avatar billede eagleeye Praktikant
15. juni 2002 - 20:28 #8
arh ok.. den hendter ikke navnet hvis jeg starter en ny IE op... jeg var vist for hurtig.
Avatar billede monstermand Nybegynder
15. juni 2002 - 20:29 #9
nej - deter pisse irri ik'?

jeg ved sgu ikke hvad der er galt - det virkede da den var delt op i 2 filer...
Avatar billede eagleeye Praktikant
15. juni 2002 - 20:31 #10
Hvis jeg udkommentere denne linie virker det:

  Response.Cookies("twLogonLastLogon").Path = Left(Request.ServerVariables("SCRIPT_NAME"),InStrRev(Request.ServerVariables("SCRIPT_NAME"),"/")-1)
Avatar billede eagleeye Praktikant
15. juni 2002 - 20:32 #11
hmm det virker lidt underlidt... Først syntes jeg det virkede men nu er jeg i tvivl igen-.
Avatar billede eagleeye Praktikant
15. juni 2002 - 20:37 #12
hm jeg har fundet en ting du skal havde type=text på username input

<input type="text" name="username" value=<%=..%>
Avatar billede eagleeye Praktikant
15. juni 2002 - 20:39 #13
Jeg fatter ikke den fejl... Når jeg kigger på siden er Brugernavn input felt tomt. HVis jeg tager view source ¨på html siden så får jeg:
<input type="text" name="username" value="fgrfgtg45">

Altå der er et brugernavn men man kan ikke se det??
Avatar billede monstermand Nybegynder
15. juni 2002 - 20:50 #14
ja..
Avatar billede monstermand Nybegynder
15. juni 2002 - 20:50 #15
har du en løsning?
Avatar billede eagleeye Praktikant
15. juni 2002 - 20:55 #16
Nej ikke lige nu.. Men jeg tror problemmer når man læser cookien, for der bliver laven en cookie fil som indeholder det rigtigte.
Avatar billede monstermand Nybegynder
15. juni 2002 - 20:56 #17
hmm..kan godt sætte ekstra points hvis du får det løst :o)
Avatar billede monstermand Nybegynder
15. juni 2002 - 21:10 #18
håber du kan fikse den - eller lige ved at sætte prikken over i'et :o)
Avatar billede eagleeye Praktikant
15. juni 2002 - 22:06 #19
Hvis jeg udskriver: Request.Cookies("twLogonLastLogon")
Får jeg dette:  Brugernavn=&Password=&Gembrugernavn=True
meget uderligt da den kan se cookie navne men ikke værdierne, den kan så se værdien for Gembrugernavn.
Avatar billede eagleeye Praktikant
15. juni 2002 - 22:44 #20
Jeg har fået dette til at virke på min PC. Der manglede også et body start tag i koden:

Jeg gik mine cookies igennem og den havde lave 2 cookies og den bruge den ene som default og det så ud som den skriv til en ny når man gemte. Så prøv at søg .txt filer brugernavn og selt dem som er cookie filer til din side. Det er det som jeg havde som problem.. Der har kun være et par småfejl i koden som ikke bør være skyld i det eller??


<%
If (Request.ServerVariables("REQUEST_METHOD") = "POST") then

  If (Request.Form("twLogonGemBrugernavn") = "True") Then
    Response.Cookies("twLogonLastLogon")("Brugernavn") = Request.Form("username")
    Response.Cookies("twLogonLastLogon")("Password") = Request.Form("password")
    Response.Cookies("twLogonLastLogon")("Gembrugernavn") = "True"
    Response.Cookies("twLogonLastLogon").Expires = DateAdd("d", 7, Date)
  Else
    Response.Cookies("twLogonLastLogon")("Brugernavn") = ""
    Response.Cookies("twLogonLastLogon")("Password") = ""
    Response.Cookies("twLogonLastLogon")("Gembrugernavn") = "False"
    Response.Cookies("twLogonLastLogon").Expires = Date-1
  End If
  Response.Cookies("twLogonLastLogon").Domain = Request.ServerVariables("SERVER_NAME")
  Response.Cookies("twLogonLastLogon").Path = Left(Request.ServerVariables("SCRIPT_NAME"),InStrRev(Request.ServerVariables("SCRIPT_NAME"),"/")-1)

End If

%>

<%
Brugernavn = Request.Cookies("twLogonLastLogon")("Brugernavn")
test = Request.Cookies("twLogonLastLogon")
           
%>
<html>
<title>IT-Site</title>
<head>
</head>
<body>
<%=test%>

<table border="1">
<form method="post" action="spm224944.asp" name="adminlogin">
  <tr><td>Brugernavn:</td><td>
  <input type="text" name="username" value="<%=Brugernavn%>"></td></tr>
  <tr><td>Password:</td><td><input type="password" name="password" value="<%=Request.Cookies("twLogonLastLogon")("Password")%>"></td></tr>
  <tr><td>Cookie:</td><td>  <input name="twLogonGemBrugernavn" type="checkbox" value="True" <%If ((Request.Cookies("twLogonLastLogon")("Gembrugernavn") = "True") Or (Not Request.Cookies("twLogonLastLogon")("Gembrugernavn") = "False")) Then Response.Write "checked"%>>Gem brugernavn i cookie</td></tr>
  <tr><td colspan="2" align="center"><input type="submit" value="Login" name="Action"></td></tr>
</form>
</table>
<%
If (Request.Cookies("twLogonLastLogon")("Brugernavn") <> "") Then
%>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
document.adminlogin.username.focus();
//-->
</SCRIPT>

<%
Else
%>

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
document.adminlogin.password.focus();
//-->
</SCRIPT>

<%
End If
%>
</body>
</html>
Avatar billede torbenmelander Nybegynder
15. juni 2002 - 22:50 #21
eagleeye >> Da det er mig der har lavet koden som han har fået er jeg lidt interesseret i at høre hvilke småfejl du hentyder til.

Jeg har fundet ud af at fejlen skyldes at han submittede siden til en anden side (login.asp) som så loggede ham ind. Men koden til at gemme cookien blev selvfølgelige ikke udført da han ikke submittet siden til sig selv.

Jeg har hjulpet ham uden for eksperten.dk så jeg skal nok lade være med at svare da dette ville være snyd :-)
Avatar billede monstermand Nybegynder
15. juni 2002 - 22:58 #22
points for en god indsats - tak for hjælpen i dag :o)
Avatar billede eagleeye Praktikant
15. juni 2002 - 23:01 #23
ok.. Jeg har bare lagt det i på samme side.

Der manglede et <body> tag, og så syntes jeg man skal angive hvilken type en input er: <input type="text" name="username"...>.
Avatar billede eagleeye Praktikant
15. juni 2002 - 23:04 #24
Jeg fik første gang en cookies som hed:

eagleeye@eksperten[2].txt
som indeholdet dette: Brugernavn=&Password=&Gembrugernavn=True : når jeg udskrev det.

Når jeg så indtastede brugernavn og password fik jeg en cookie fil mere:
eagleeye@localhost[1].txt

I eagleeye@localhost[1].txt lå bruger navn og password rigtig. Når jeg så startede en ny IE op så to den det som lå i eagleeye@eksperten[2].txt og lage ind???

Efter jeg så slettede eagleeye@eksperten[2].txt  så virkede det....
Avatar billede torbenmelander Nybegynder
15. juni 2002 - 23:11 #25
Ok underligt ...

Men det med password kan godt være fordi det er noget kode jeg tilføjet til ham ... selv om jeg ikke tror det ...

Resten er jeg helt enig med dig i ... og så ser det også ud ved mog ... har kun kopieret asp-koden til ham ...

Har du slet ikke noget bud på det i spørgsmålet om arrays som du svarede på tidligere i dag ?
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