Avatar billede stanz2002 Nybegynder
02. maj 2003 - 17:48 Der er 6 kommentarer og
1 løsning

IF logged in THEN ...

Hej..

Jeg sidder og er igang med et site i Dreamweaver MX, hvor folk skal kunne logge ind og få adgang til deres personlige oplysninger..

Mit problem er så at jeg har en menu i toppen af siden, hvor der skal være et link der åbner en side, hvor personen kan indtaste sine login info og så logge på siden derfra..

Men når personen så har logget ind, så vil jeg gerne have at dette link i toppen af siden ændres til et log-off link..

Jeg tænkte på om man så kan lave en IF funktion, der tester hvorvidt personen er logget på eller ej og så viser den kode, der passer til..

Men hvordan gør man dette.. eller er der en smart funktion i DMX, som selv kan fikse dette..??
Avatar billede -master-d- Nybegynder
02. maj 2003 - 18:35 #1
Du laver en session som så oprettes når man logger ind.

ex.

log ind funktion...

Session("loggedin") = True

Og så laver du denne her i din Menu

<%If Session("loggedin") = True%>
<a href="link.html">Log off</a>
<%Else%>
<a href="link.html">Login</a>
<%End IF%>
Avatar billede stanz2002 Nybegynder
02. maj 2003 - 20:12 #2
okay.. nu er jeg ik den store haj til ASP :-)

jeg har nedenstående kode som Dreamweaver laver for mit når jeg bruger en af de Server Variables der er i programmet.. men hvor skal jeg så indsætte Session("loggedin") = True henne..

og jeg kan vel godt lave selve IF funktionen på en anden side.. ??

-------- kode ------------

<%
' *** Validate request to log in to this site.
MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Request.QueryString
MM_valUsername=CStr(Request.Form("login_email"))
If MM_valUsername <> "" Then
  MM_fldUserAuthorization=""
  MM_redirectLoginSuccess="login_ok.asp"
  MM_redirectLoginFailed="login_not_ok.asp"
  MM_flag="ADODB.Recordset"
  set MM_rsUser = Server.CreateObject(MM_flag)
  MM_rsUser.ActiveConnection = MM_kunde_STRING
  MM_rsUser.Source = "SELECT email, password"
  If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization
  MM_rsUser.Source = MM_rsUser.Source & " FROM kunde WHERE email='" & Replace(MM_valUsername,"'","''") &"' AND password='" & Replace(Request.Form("login_password"),"'","''") & "'"
  MM_rsUser.CursorType = 0
  MM_rsUser.CursorLocation = 2
  MM_rsUser.LockType = 3
  MM_rsUser.Open
  If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then
    ' username and password match - this is a valid user
    Session("MM_Username") = MM_valUsername
    If (MM_fldUserAuthorization <> "") Then
      Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
    Else
      Session("MM_UserAuthorization") = ""
    End If
    if CStr(Request.QueryString("accessdenied")) <> "" And false Then
      MM_redirectLoginSuccess = Request.QueryString("accessdenied")
    End If
    MM_rsUser.Close
    Response.Redirect(MM_redirectLoginSuccess)
  End If
  MM_rsUser.Close
  Response.Redirect(MM_redirectLoginFailed)
End If
%>

--------------------------
Avatar billede stanz2002 Nybegynder
02. maj 2003 - 20:19 #3
og hvad skal jeg gøre når personen så logger ud for at få 'log-in' linket tilbage i menuen..

skal der så laves en Session ("loggedin") = False og hvor skal den så være henne :-)
Avatar billede stanz2002 Nybegynder
02. maj 2003 - 20:21 #4
Noget helt andet :-)

kan jeg ik bare bruge en af de Session variable der bliver oprettet i ovenstående kode, såsom Session("MM_Username")

og så bruge den i IF sætningen...

<%If Session("MM_Username") <> "" %>
<a href="link.html">Log off</a>
<%Else%>
<a href="link.html">Login</a>
<%End IF%>

eller duer det ik.. ??
Avatar billede -master-d- Nybegynder
02. maj 2003 - 20:38 #5
Først din login side :

<%
' *** Validate request to log in to this site.
MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Request.QueryString
MM_valUsername=CStr(Request.Form("login_email"))
If MM_valUsername <> "" Then
  MM_fldUserAuthorization=""
  MM_redirectLoginSuccess="login_ok.asp"
  MM_redirectLoginFailed="login_not_ok.asp"
  MM_flag="ADODB.Recordset"
  set MM_rsUser = Server.CreateObject(MM_flag)
  MM_rsUser.ActiveConnection = MM_kunde_STRING
  MM_rsUser.Source = "SELECT email, password"
  If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization
  MM_rsUser.Source = MM_rsUser.Source & " FROM kunde WHERE email='" & Replace(MM_valUsername,"'","''") &"' AND password='" & Replace(Request.Form("login_password"),"'","''") & "'"
  MM_rsUser.CursorType = 0
  MM_rsUser.CursorLocation = 2
  MM_rsUser.LockType = 3
  MM_rsUser.Open
  If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then
    ' username and password match - this is a valid user
    Session("MM_Username") = MM_valUsername
    If (MM_fldUserAuthorization <> "") Then
      Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
    Else
      Session("MM_UserAuthorization") = ""
    End If
    if CStr(Request.QueryString("accessdenied")) <> "" And false Then
      MM_redirectLoginSuccess = Request.QueryString("accessdenied")
    End If
    MM_rsUser.Close
    Response.Redirect(MM_redirectLoginSuccess)
    Session("loggedin") = True
  End If
  MM_rsUser.Close
  Response.Redirect(MM_redirectLoginFailed)
End If
%>
Avatar billede -master-d- Nybegynder
02. maj 2003 - 20:41 #6
Og så den anden side...

Du laver en querysting som fortæller at din session skal stoppe, det er ganske simpelt.

<%
If Request("logoff") = "ja" Then
Session("loggedin") = False
End If

If Session("loggedin") = True
%>
<a href="link.html">Log off</a>
<%Else%>
<a href="link.html?logoff=ja">Login</a>
<%End IF%>

Så skulle det gerne virke, men er ikke nogen haj til dreamweaver må jeg ok erkende..
Avatar billede stanz2002 Nybegynder
02. maj 2003 - 20:58 #7
okay.. jeg skal godt nok ik lave siden endnu - først om et par uger, men rart lige at have en ide til hvordan det gøres, så jeg takker og du får lige dine point for det..
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