Avatar billede saybot Nybegynder
08. februar 2004 - 14:06 Der er 18 kommentarer og
1 løsning

Session problem

Jeg her denne sætning:

<%
if session("userid") <> "" then
 
%>

Problemet er bare at hvis man har logget sig ind i det bruger system jeg har lavet så fatter den ikke at man er logget ind... man skal først trykke opdater i browseren..

er der en måde at få det ordnet anstændigt på ?

Venlig hilsen saybot :)

Håber nogle kender svaret
Avatar billede ellebaek Nybegynder
08. februar 2004 - 14:09 #1
Du skal tilføje response.redirect("dinside.asp") efter loginfunktionen er gennemført for at brugeren bliver sendt til starten af siden..

Hvis jeg gætter rigtigt på hvordan dit script er opbygget.
Avatar billede ellebaek Nybegynder
08. februar 2004 - 14:11 #2
her gætter jeg på:

<%
if session("userid") <> "" then

else
if (der er trykket på login)...

***Så skal der redirectes her***

else
formen til login

end if
end if
%>
Avatar billede saybot Nybegynder
08. februar 2004 - 14:14 #3
Det virkede ikke :(
Avatar billede saybot Nybegynder
08. februar 2004 - 14:16 #4
forstår ikke lige helt... kan du uddybe lidt :)
Avatar billede ellebaek Nybegynder
08. februar 2004 - 14:21 #5
vis lige hele din kode...
Avatar billede saybot Nybegynder
08. februar 2004 - 14:24 #6
<%
if session("userid") <> "" then
%>
<a href="rediger.asp"><img border="0" src='grafik/user_knapper/edit.gif'></a><a href="liste.asp"><img border="0" src="grafik/user_knapper/userlist.gif"><a href="logoff.asp"><img border="0" src="grafik/user_knapper/logout.gif"></a>
<img src='grafik/sponsers.gif'><table border="0" width="3%" cellspacing="4" cellpadding="">
    <tr>
        <td>
        <img style="FILTER: alpha(opacity =50)" src="grafik/Sponsere/webpartner.gif"></td>
    </tr>
    <tr>
        <td>
        <img style="FILTER: alpha(opacity =50)" src="grafik/Sponsere/teflonlogony.jpg"></td>
    </tr>
    <tr>
        <td>
        <img style="FILTER: alpha(opacity =50)" src="grafik/Sponsere/ghlogo.gif"></td>
    </tr>
</table></td>

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("databaser\users.mdb")
Conn.Open DSN
Dim samletAntal

strSQL = "SELECT * FROM brugere WHERE id = " &  session("userid")


Set rs = Conn.Execute(strSQL)

    else
%>
<form action='godkend.asp' method='post' name='login'><font color='#C0C0C0' size='1' face='Verdana'><font size='1' color='#c0c0c0'>User:</font><br><input type='text' name='brugernavn' style='border:3px inset #808080; FONT-SIZE: 10px; FILTER: alpha(opacity =65); COLOR: #99BF00; BACKGROUND-COLOR: #3D3D3D' size='13' align='middle'> <font size= '1' color='#c0c0c0'><br>Password:<br><input type='password' name='password' style='border:3px inset #808080; FONT-SIZE: 10px; FILTER: alpha(opacity =65); COLOR: #99BF00; BACKGROUND-COLOR: #3D3D3D' size='16'></font><br><br><input type='submit' value='Enter now' name='submit' style='BORDER-RIGHT: #808080 1px ridge; BORDER-TOP: #808080 1px ridge; FONT-SIZE: 10px; FILTER: alpha(opacity =65); BORDER-LEFT: #808080 1px ridge; COLOR: #c0c0c0; BORDER-BOTTOM: #808080 1px ridge; BACKGROUND-COLOR: #3d3d3d'></form>Not user ?<br><b><a href='ny.asp'><font color='#c0c0c0'>Create account<br></font></a><a href='glemtpw.asp'><font color='#C0C0C0'>Password ?</font></a></b><font color='#c0c0c0'><br><br><img src='grafik/sponsers.gif'><br>
<table border="0" width="3%" cellspacing="4" cellpadding="">
    <tr>
        <td>
        <img style="FILTER: alpha(opacity =50)" src="grafik/Sponsere/webpartner.gif"></td>
    </tr>
    <tr>
        <td>
        <img style="FILTER: alpha(opacity =50)" src="grafik/Sponsere/teflonlogony.jpg"></td>
    </tr>
    <tr>
        <td>
        <img style="FILTER: alpha(opacity =50)" src="grafik/Sponsere/ghlogo.gif"></td>
    </tr>
</table></td>
<% end if %>
Avatar billede saybot Nybegynder
08. februar 2004 - 14:24 #7
den er ikke rengjort enndu :( sorry
Avatar billede ellebaek Nybegynder
08. februar 2004 - 14:27 #8
det gør skam ikke noget...
Jeg bliver også nødt til at se koden for godkend.asp
Avatar billede saybot Nybegynder
08. februar 2004 - 14:29 #9
<%
Dim fejl, username, password

fejl = false
brugernavn = Trim(Replace(Request.Form("brugernavn"), "'", "''"))
password = Trim(Replace(Request.Form("password"), "'", "''"))

If brugernavn = "" Then
    Response.Write "<p><font color=red>Fill in a <b>username!</b></p></font>"
    fejl = true
End If

If password = "" Then
    Response.Write "<p><font color=red>Fill in a <b>password!</p></b></font>"
    fejl = true
End If

If fejl = true Then
    Response.Write "<p><a href=java script:history.back()><font color='#666666'><b>Back</b></a>"
End If

If fejl <> true Then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("databaser\users.mdb")
Conn.Open DSN


strSQL = "SELECT * FROM brugere WHERE brugernavn='" & brugernavn & "' and Password = '" & password & "'"
Set rs = Conn.Execute(strSQL)

If Not rs.eof Then
         
                Response.Write "<META HTTP-EQUIV=""Refresh"" CONTENT=""0;URL=start.asp""><style type=""text/css"">"
                Response.Write "<p><b><font face=""Verdana"" size=""4"">Login succes!</b><font face=""Verdana"" size=""2"">"
        Response.Write "<p>Du er nu logget på som '" & rs("brugernavn") & "'Wait 3 seconds...</p>"
          Session("login") = true
        Session("brugernavn") = rs("brugernavn")
        Session("userid") = rs("id")
        Conn.Execute("UPDATE brugere SET sidste_login='" & Now & "' WHERE id=" & Session("userid"))
       

    If request.form("save") = "on" then
        Response.Cookies("Brugere")("brugernavn") = session("brugernavn")
        Response.Cookies("Brugere")("password") = password
        Response.Cookies("Brugere").expires = Date+365
    Else   
        Response.Cookies("Brugere").expires = Date-1000
   
    End If
   
       
Else
    Response.Write "<p><font color='#666666'>You did not login! Wrong <b>username</b> or <b>password!</b></font>"
    Response.Write "<p><a href=java script:history.back()><font color='#666666'><b>Back</b></a>"
End If

Conn.Close
Set Conn = Nothing

End If

%>
Avatar billede ellebaek Nybegynder
08. februar 2004 - 14:31 #10
<%
Dim fejl, username, password

fejl = false
brugernavn = Trim(Replace(Request.Form("brugernavn"), "'", "''"))
password = Trim(Replace(Request.Form("password"), "'", "''"))

If brugernavn = "" Then
    Response.Write "<p><font color=red>Fill in a <b>username!</b></p></font>"
    fejl = true
End If

If password = "" Then
    Response.Write "<p><font color=red>Fill in a <b>password!</p></b></font>"
    fejl = true
End If

If fejl = true Then
    Response.Write "<p><a href=java script:history.back()><font color='#666666'><b>Back</b></a>"
End If

If fejl <> true Then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("databaser\users.mdb")
Conn.Open DSN


strSQL = "SELECT * FROM brugere WHERE brugernavn='" & brugernavn & "' and Password = '" & password & "'"
Set rs = Conn.Execute(strSQL)

If Not rs.eof Then
         
               
          Session("login") = true
        Session("brugernavn") = rs("brugernavn")
        Session("userid") = rs("id")
        Conn.Execute("UPDATE brugere SET sidste_login='" & Now & "' WHERE id=" & Session("userid"))
       

    If request.form("save") = "on" then
        Response.Cookies("Brugere")("brugernavn") = session("brugernavn")
        Response.Cookies("Brugere")("password") = password
        Response.Cookies("Brugere").expires = Date+365
    Else   
        Response.Cookies("Brugere").expires = Date-1000
   
    End If
response.redirect("start.asp")   
       
Else
    Response.Write "<p><font color='#666666'>You did not login! Wrong <b>username</b> or <b>password!</b></font>"
    Response.Write "<p><a href=java script:history.back()><font color='#666666'><b>Back</b></a>"
End If

Conn.Close
Set Conn = Nothing

End If

%>

Prøv at sætte denne i stedet for din nuværende godkend.asp
Avatar billede saybot Nybegynder
08. februar 2004 - 14:45 #11
Du skal nok få dine point

Det ser ud til at virke..

Det er bare et problem... jeg har en side hvor man kan tilføje en kommentar til en nyhed...

Når man er logget ind kan man tilføje.. men når man er logget ud så har browseren gemt siden i cache og viser at man stadig kan tilføje en kommentar
Avatar billede ellebaek Nybegynder
08. februar 2004 - 14:48 #12
vis lige din logud side...
logoff.asp hedder den vidst
Avatar billede saybot Nybegynder
08. februar 2004 - 14:52 #13
<%
session("login") = false
response.write "<font color='#666666'>You are now logged out (Safe logout: You need to close this window then)"
response.write "<p><b><a href=start.asp><font color='#666666'>Back</b></a>"
%>
Avatar billede ellebaek Nybegynder
08. februar 2004 - 14:56 #14
<%
session("login") = false
session.abandon
response.write "<font color='#666666'>You are now logged out (Safe logout: You need to close this window then)"
Response.Write "<META HTTP-EQUIV=""Refresh"" CONTENT=""1;URL=start.asp""><style type=""text/css"">"
%>

Sådan her måske
Avatar billede saybot Nybegynder
08. februar 2004 - 15:00 #15
ja det virker... men den gemmer stadigvæk siden i cache..

Hvad hedder koden til no cache
Avatar billede ellebaek Nybegynder
08. februar 2004 - 15:02 #16
prøv evt. denne i toppen...
<%
response.expires = -1000
%>
Avatar billede ellebaek Nybegynder
08. februar 2004 - 15:03 #17
eller disse:

<meta http-equiv="Expires" CONTENT="0">
<meta http-equiv="Cache-Control" CONTENT="no-cache">
<meta http-equiv="Pragma" CONTENT="no-cache">
Avatar billede saybot Nybegynder
08. februar 2004 - 15:17 #18
Jeg takker for dine gode hjælp min ven :)
Avatar billede ellebaek Nybegynder
08. februar 2004 - 15:21 #19
Anytime.

Takker for points..
..Ellebæk!
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