Avatar billede totalpc Seniormester
19. maj 2008 - 11:55 Der er 6 kommentarer og
3 løsninger

problemer med cookie login

Jeg har fået problemer med min autologin funktion på min side.
Det har virket da jeg sad og testede, men måske jeg har fået lavet noget snask.
Hvis man logger ind "manuelt" virker det fint.
Når man vælger autologin gemmer den en cookie og næste gang burde den så logge en ind direkte.
Men jeg får bare en siden kan ikke vises. Selvom jeg sætter den der vis uskadeligt http fejl, så viser den
ingen fejl, blot siden kan ikke vises.
Hvis jeg i login_cookie.asp skifter denne linie Response.Redirect "default.asp?sitepage=blog" ud med
Response.Redirect "Http://www.google.dk", så bliver jeg smidt over på google, så det virker jo, men hvorfor opfører min
default side sig sådan når man er blevet valideret?
Hvis jeg prøver I firefox siger den:
Denne side viderefører ikke forespørgslen korrekt
Firefox har opdaget at serveren henviser forespørgelsen for denne adresse på en måde så den aldrig vil blive færdig.
*  Dette problem kan nogle gange skyldes, at cookies er slået fra, eller modtagelse af cookies er blevet nægtet.


default.asp ser i det væsentlige således ud:

<%

sitepage=request.querystring("sitepage")

if sitepage="blog" then
%>
<!--#include file="blogview.asp"-->
<%
elseif sitepage="" or sitepage="forside" then
%>
<!--#include file="login.asp"-->
<%
elseif sitepage="blogview_indlag" then
%>
<!--#include file="blogview_indlag.asp"-->
<%

End If
%>   

*************************************************
login.asp ser i det væsentlige således ud:

<%
msg= request.querystring("msg")

strBrugernavn = "" & Request.Cookies("LoginInfo")("Brugernavn")
strKodeord = "" & Request.Cookies("LoginInfo")("kodeord")
If strBrugernavn <> "" And strKodeord <> "" Then
response.redirect "login_cookie.asp"
END IF
%>
<form method="post" action="login_check.asp" name="login">


*************************************************
login_cookie.asp ser i det væsentlige således ud:

<%
Option Explicit

Dim strBrugernavn, strKodeord

strBrugernavn = "" & Request.Cookies("LoginInfo")("Brugernavn")
strKodeord = "" & Request.Cookies("LoginInfo")("kodeord")

Dim Conn, DSN, strSQL, rs

strBrugernavn = Replace(strBrugernavn, "'", "")
strKodeord = Replace(strKodeord, "'", "")

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("familiencaroe.mdb")
Conn.Open DSN
   
strSQL = "SELECT * FROM bruger WHERE brugernavn = '" & strBrugernavn & "' AND kodeord = '" & strKodeord & "'"

Set rs = Conn.Execute(strSQL)

If Not rs.eof Then
Response.Redirect "default.asp?sitepage=blog"
Else
  Response.Cookies("LoginInfo")("Brugernavn") = ""
    Response.Cookies("LoginInfo")("Kodeord") = ""
    Response.Redirect "default.asp?msg=" & Server.URLEncode("Din cookie er defekt eller du har indtastet<br>forkert brugernavn eller kodeord.<br><br>Log ind med brugernavn og kodeord igen<br>og marker husk mig feltet!")
  End If
Conn.Close
Set Conn = Nothing
%>
Avatar billede mitbrugernavn Praktikant
19. maj 2008 - 13:01 #1
prøv at skrive det således
Response.Redirect "default.asp?sitepage="&"blog"&""
Avatar billede totalpc Seniormester
19. maj 2008 - 14:09 #2
samme problem.
Du kan prøve på www.familiencaroe.dk og logge ind med test og test og sætte hak i autologin. Derefter luk browser og prøv igen. Så kan du se hvad den gør!
Avatar billede totalpc Seniormester
19. maj 2008 - 14:26 #3
Går der noget galt i alle de login tjeks ? Der er jo også login_check.asp

<%
Option Explicit

If Request.Form("autologin") = "on" then
Response.Cookies("LoginInfo")("Brugernavn") = Request.Form("brugernavn")
Response.Cookies("LoginInfo")("Kodeord") = Request.Form("kodeord")
Response.Cookies("LoginInfo").Expires = Date+365 
'Response.Cookies("LoginInfo").Domain = "www.html.dk"
'Response.Cookies("LoginInfo").Path = "/tutorials/asp"

End if

Sub CheckLogin(strBrugernavn, strKodeord)
    Dim Conn, DSN, strSQL, rs

    strBrugernavn = Replace(strBrugernavn, "'", "")
    strKodeord = Replace(strKodeord, "'", "")

        Set Conn = Server.CreateObject("ADODB.Connection")
        DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
        DSN = DSN & "DBQ=" & Server.MapPath("familiencaroe.mdb")
        Conn.Open DSN
   
    strSQL = "SELECT * FROM bruger WHERE brugernavn = '" & strBrugernavn & "' AND kodeord = '" & strKodeord & "'"

    Set rs = Conn.Execute(strSQL)

    If Not rs.eof Then
            'Måske !!!
            session("brugernavn")=rs("brugernavn")
        Response.Redirect "default.asp?sitepage=blog"
    Else
        Response.Redirect "default.asp?msg=" & Server.URLEncode("Kodeord forkert!")
    End If
    Conn.Close
    Set Conn = Nothing
End Sub

Dim strBrugernavn, strKodeord

strBrugernavn = "" & Request.Cookies("LoginInfo")("Brugernavn")
strKodeord = "" & Request.Cookies("LoginInfo")("kodeord")

If strBrugernavn <> "" And strKodeord <> "" Then
    CheckLogin strBrugernavn, strKodeord
Else
    If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
        strBrugernavn = Request.Form("brugernavn")
        strKodeord = Request.Form("kodeord")

        CheckLogin strBrugernavn, strKodeord
    End If
End If
%>
Avatar billede w13 Novice
19. maj 2008 - 14:32 #4
Jeg kommer fint ind?
Det kunne jo lyde lidt som om, du har fået slået Cookies fra?
Avatar billede w13 Novice
19. maj 2008 - 14:32 #5
Dvs. jeg kommer fint ind både med og uden autologin og både i IE og FF.
Avatar billede w13 Novice
19. maj 2008 - 14:33 #6
Ah, nu ser jeg fejlen. Hmm.
Avatar billede w13 Novice
19. maj 2008 - 14:34 #7
Hvis jeg var dig, ville jeg prøve at isolere dele af koden, indtil jeg havde fundet stedet, som fik browseren til at melde fejl.
Dvs. god gammeldaws debugning. :)
Avatar billede totalpc Seniormester
19. maj 2008 - 15:02 #8
w13
Hehe... jamen det vil jeg prøve. Jeg har bare svært ved at bevare overblikket snart :) Der går for lang tid i mellem at jeg får kigget på koden!
Avatar billede totalpc Seniormester
20. maj 2008 - 13:53 #9
Fandt fejlen. Den lå i at jeg manglede at sætte en session værdi som jeg tjekkede på senere. Men tak for input alligevel.
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