Avatar billede steen_hansen Forsker
21. juli 2002 - 00:29 Der er 21 kommentarer og
2 løsninger

Session("bruger") - hvordan

Jeg troede jeg havde styr på det, men det er åbenbart ikke tilfældet:

Jeg vil have, at brugeren ved login bliver sendt til community.asp.

login_form.asp ser således ud:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/fpdb/valeria.mdb")

    'Hvis brugeren har submittet login-formen
    If Request.ServerVariables("REQUEST_METHOD") = "POST" then

        'Kontrollerer om felterner er udfyldt
        If Request.Form("brugernavn") <> "" AND Request.Form("adgangskode") <> "" then

                SQL = "SELECT * FROM profiler WHERE brugernavn = '" & Request.Form("brugernavn") & "'"
                Set RS = Conn.Execute(SQL)

                    'Kontrollerer om brugeren eksisterer
                    If RS.EOF or RS.BOF then
                        Response.Write("<span class='tekst11r'><b>PROFILEN EKSISTERER IKKE!</b></span><br>")
                    Else

                            'Kontrollerer om passwords matcher
                            If RS("brugerkode") = Request.Form("adgangskode") then

                                    Session("brugernavn") = RS("brugernavn")
                                    Response.Redirect("/valeria/community.asp")
                                                   
                            Else
                                Response.Write("<span class='tekst11r'><b>ADGANGSKODEN ER FORKERT!</b></span><br>")
                            End if
                    End if

                    RS.Close
                    set RS = nothing

        Else   
            Response.Write("<span class='tekst11r'><b>DU HAR IKKE UDFYLDT ALLE FELTERNE!</b></span><br>")
        End if

    End if
%>

.
.
.
<form method="post" action="/community.asp">
.
.
.

For at teste, om Session("brugernavn") = RS("brugernavn"), har jeg sat dette ind i community.asp:

<%
    Response.Write Session("brugernavn")
%>
<span class="o17">VELKOMMEN <%=Session("brugernavn")%></span><br><br>

<%
If Session("brugernavn") <> "" Then
    Response.Write "<span class=""o17"">" & "Velkommen!" & "</span>"
Else
    Response.Write "<span class=""tekst11"">" & "Du er ikke logget ind!" & "</span><br>"
    Response.Write "<span class=""tekst11""><a href=""/includes/abandon.asp"">" & "Log ud" & "</a>"
End if
%>

Her får jeg hele tiden at vide, at jeg ikke er logget ind. Hvorfor det?
Avatar billede steen_hansen Forsker
21. juli 2002 - 00:31 #1
Der er et par fejl med stiangivelserne, men skidt med det, det er ikke det væsentlige.
Avatar billede hells Nybegynder
21. juli 2002 - 00:35 #2
prøv at sætte en timeout på sessionen, der bestemmer hvor lang tid den vil eksistere, der hvor du opretter sessionen:

Session.Timeout = 30

så varer den 30 minutter
Avatar billede steen_hansen Forsker
21. juli 2002 - 00:37 #3
Sådan her:

Session("brugernavn") = RS("brugernavn")
Session.Timeout = 30
Response.Redirect("/valeria/community.asp")

?
Avatar billede hells Nybegynder
21. juli 2002 - 00:39 #4
jeps
Avatar billede steen_hansen Forsker
21. juli 2002 - 00:39 #5
Det hjalp ikke
Avatar billede digitalmann Nybegynder
21. juli 2002 - 00:42 #6
når nu dit result kommer (community.asp) beder du om at få skrevet brugernavnet, gør den det ?
Avatar billede steen_hansen Forsker
21. juli 2002 - 00:44 #7
Nej, der står:

VELKOMMEN

Du er ikke logget ind!
Log ud
Avatar billede digitalmann Nybegynder
21. juli 2002 - 00:45 #8
<%
    Response.Write Session("brugernavn")
%>
skriver du først, skriver den INTET her ?
Avatar billede steen_hansen Forsker
21. juli 2002 - 00:45 #9
Efter VELKOMMEN skulle der stå <%=Session("brugernavn")%>. Det gør der ikke.

Siden der nedenunder står

Du er ikke logget ind!
Log ud

må Session("bruger") være lige med ""
Avatar billede steen_hansen Forsker
21. juli 2002 - 00:47 #10
Session("brugernavn") burde være <> "", men den er lig med ""
Avatar billede hells Nybegynder
21. juli 2002 - 00:50 #11
og du bliver redirectet fra login_form.asp?
Avatar billede steen_hansen Forsker
21. juli 2002 - 00:50 #12
I community.asp skal der ikke være ikke etablere en DB-forbindelse, eftersom det er Session("brugernavn"), og ikke RS("brugernavn"), der er tale om? Jeg tænker på

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/fpdb/valeria.mdb")
Avatar billede steen_hansen Forsker
21. juli 2002 - 00:50 #13
Ja, det gør jeg
Avatar billede steen_hansen Forsker
21. juli 2002 - 00:53 #14
Jeg bliver redirectet fra login_form.asp til community.asp, hvor der står:

VELKOMMEN

Du er ikke logget ind!
Log ud
Avatar billede steen_hansen Forsker
21. juli 2002 - 00:58 #15
Ingen gode idéer? :o(
Avatar billede steen_hansen Forsker
21. juli 2002 - 01:38 #16
HJÆLP! Håber der er mere respons i morgen :o(
Avatar billede agg-zeus Nybegynder
21. juli 2002 - 10:17 #17
Hvis Session("bruger") er tjekket på login_form.asp så behøver du da ikke at tjekke den igen ! prøv uden.
Avatar billede mccannon Nybegynder
21. juli 2002 - 10:21 #18
hmm
hvis det var mit login script ville jeg nok have gjort noget ligende det her .:
<%
response.buffer = true
IF request.form <> "" THEN
  Login = request.form("login")
  Kodeord = request.form("kodeord")
 
  Set Conn = Server.createobject("ADODB.Connection")
  Conn.open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & server.mappath("bruger.mdb")
  Set RS = Server.createObject("ADODB.Recordset")
  SQL = "SELECT ID,Brugernavn,Kodeord,tlf FROM tbl_bruger"
  SQL = SQL & " WHERE Brugernavn ='" & Login & "'"
  SQL = SQL & " AND Kodeord ='" & Kodeord & "'"
  RS.open SQL,Conn
 
  IF NOT RS.EOF THEN
    IF Login = RS("Brugernavn") AND Kodeord = RS("Kodeord") THEN
    Session("ID") = RS("tlf")
    RS.CLOSE
    Set RS = Nothing
    Conn.close
    Set Conn = Nothing
    response.redirect "default2.asp"
    ELSE
    Session("ID") = ""
    RS.CLOSE
    Set RS = Nothing
    Conn.close
    Set Conn = Nothing
    response.redirect "default.asp"
    END IF
  END IF
 
END IF


%>

måske kan det give dig lidt inspiration :)
Avatar billede eagleeye Praktikant
21. juli 2002 - 11:34 #19
Har du slået Session Cookies til i Internet Exploren. Det kunne tyde på den ikke acceptere Session cookies.

Hvis du har IE5.x så er det under Tools->Internet Option->Security Find Cookies og slå Session Cookies til.

I IE 6 er det under Tools->Internet Option->Privacy->Advanced... Der er noget som hedder Allow Session Cookies.
Avatar billede steen_hansen Forsker
22. juli 2002 - 16:34 #20
eagleeye: Jeg har under (MSIE 6.0) Indstillinger -> fanebladet "Beskyttelse af personlige oplysninger" sat skyderen til "Accepter alle cookies".

På et tidspunkt slog jeg det fra, fordi jeg syntes jeg fik mange mystiske cookies. Der er vel forskel på cookies og sessions?
Avatar billede eagleeye Praktikant
22. juli 2002 - 16:46 #21
I den engelske udgave hedder den: "Always allow Session cookies"

Ja en cookien er en fil som bliver gemt på ens/brugerens maskine og indeholder information som bruges ad de hjemmesider man besøger, de gemmes fra gang til gang, og bliver brugt eksvis til autologin. Session Cookies er kun aktive så længe man er på en hjemmeside, og bliver typisk brugt til at gemme brugernavn/id.
Avatar billede steen_hansen Forsker
22. juli 2002 - 17:15 #22
eagleeye: Ok, det var så ikke problemet. Håber på andre bud.
Avatar billede steen_hansen Forsker
31. juli 2002 - 09:36 #23
Tak for hjælpen. Må se om jeg kan finde ud af noget andet :o/
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