Avatar billede vd-per Nybegynder
28. september 2002 - 12:01 Der er 26 kommentarer og
1 løsning

variable der henter info fra en form (password) set paa mange HP

hey

mit spørgsmaal er rimlig nemt gaar jeg ud fra :) sorry
men kan ikke programmere i asp selv.

jeg har et password script jeg skal bruge paa en side, men vil gerne ha det til at saa hvem der er logget ind
ex.: login: ---> navn: test  bruger: test
saa det jeg mangler er en variable der gemmer oplysninger fra en tabel og en der henter den naar jeg loader en ny side (jeg bruger frameset) en med
login-info og logout og den anden med secure info
jeg har det her: <% = Username %> (men vil ikke loade det naar det er i et frameset (er det noget jeg kan gøre? ell. skal jeg lave det paa en side?
har du et password script der kan gøre det eller bare koden som jeg kan putte ind i det password script jeg ellerede har saa ville jeg blive meget glad
paa forhand tak

//per
Avatar billede loss Nybegynder
28. september 2002 - 12:02 #1
Gemmer du nogle værdier inde i login scriptet når brugeren er logget ind?.. det bliver du nødt til for at kunne se og finde oplysninger om den bruger.. evt sessions eller cookies !
Avatar billede loss Nybegynder
28. september 2002 - 12:03 #2
evt. inde i login scriptet

Session("Username") = username

Og så kan du skrive Username ud der hvor du vil ved at skrive

<%=session("username"%>
Avatar billede loss Nybegynder
28. september 2002 - 12:04 #3
<%=session("username")%>
Avatar billede vd-per Nybegynder
28. september 2002 - 12:25 #4
bruger sessions og cookies
Avatar billede loss Nybegynder
28. september 2002 - 12:25 #5
Har du prøvet det jeg skrev før
Avatar billede loss Nybegynder
28. september 2002 - 12:29 #6
Og det med logout..

Der kunne du lave en IF THEN sætning der tjekker om man er logget ind...

IF session("login")= "TRUE" THEN
RESPONSE.WRITE "<a href='Logout.asp'>Log out</a>"
END

Og i logout.asp nultstiller du så de session der er oprettet
Avatar billede vd-per Nybegynder
28. september 2002 - 12:46 #7
scriptet ser saadan her ud:
<%

If Not(Session("Checked")) then
'Henter login info fra cookie på user computer.
Username = Request.Cookies("LoginInfo")("Username")
Password = Request.Cookies("LoginInfo")("Password")

'Aabner databasen
Set dbCon = Server.CreateObject("ADODB.Connection")
VPath = Request.ServerVariables("PATH_INFO")
VPath = Left(VPath, InStrRev(VPath, "/"))
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath(VPath & "SecurityDB.mdb")
dbCon.open DSN

'Slår op i databasen efter brugernavnet fra cookien
SQL = "SELECT * FROM TblPasswords WHERE Username='" & Username & "'"
Set dbRs = dbCon.Execute(SQL)

if dbRs.BOF AND dbRs.EOF then
  'Brugernavnet blev ikke fundet i databasen
  ErrorMessage = "<i>You've typed a wrong username or you have not logged in before from this computer.</i>"
  Rejected = True
elseif not dbRs("Password") = password then
  'Brugernavnet var der, men password forkert
  ErrorMessage = "<i>You've typed a wrong password.</i>"
  Rejected = True
else
  'Alt var fint, gemmer informationen i variabler, og viser almindelig side
  RealName = dbRs("RealName")
  Username = dbRs("Username")
  Password = dbRs("Password")
  Rejected = False
  Session("Checked") = True
end if

If Rejected Then  'Viser Login side
%>


Med nogle tabler under (login og kode) submit
Avatar billede vd-per Nybegynder
28. september 2002 - 12:47 #8
ja, men kan ikke lige faa det til at virke
Avatar billede vd-per Nybegynder
28. september 2002 - 12:54 #9
nej det virker ikke.
<% = Username %> virker, men kun naar jeg ikke bruger frameset
Avatar billede vd-per Nybegynder
28. september 2002 - 13:02 #10
bryder mig entligt ikke om dette script, er ok, men gir mig formange problemer :) saa hvis du/i har et andet - kender et sted der har (ikke asp.dk activeserverpages.dk eller netcoder.dk) har tjekket og de har ikke den funktion (kan maaske imp.)
naar info bliver gemt i en variable er den saa gemt indtil man lukker browseren eller logger ud?
hvis saa, mangler jeg kun et script der kan vise det i en celle som      <% = Username %> ell. <%=session("username"%> (kunne jeg ikke faa til at virke (bruges den ikke i et text felt? ell. kan den ogsaa bruges i en celle?
Avatar billede loss Nybegynder
28. september 2002 - 14:02 #11
Jeg lavede lige en typo før... tjeck lige om du huskede at rette den.., den er nemlig ikke rettet i dit seneste indlæg

Sådan skal det se ud
<%=session("username")%>

og den kan bruges hvor du ha
Avatar billede loss Nybegynder
28. september 2002 - 14:02 #12
og den kan bruges hvor du har lyst til
Avatar billede vd-per Nybegynder
28. september 2002 - 14:06 #13
saa er jeg her igen :) jeg har et andet script nemt a gaa til (jeg kan faa UserID frem paa en anden side, men ikke andet. jeg vil gerne ha Username frem istedt for:

<%
' Hvis der er blevet trykket på knappen "Login"
If Request.Form("Action") = "Login" Then
    ' Her forberedes de indtastede værdier til validering
    strUID = Trim(Replace(Request.Form("Brugernavn"),"'",""))
    strPWD = Trim(Replace(Request.Form("Adgangskode"),"'",""))

    ' Hvis der er skrevet noget i både brugernavn og adgangskode
    If Len(strUID) > 0 And Len(strPWD) > 0 Then

        ' DSNLess forbindelse til databasen
        Set myConn = Server.CreateObject("ADODB.Connection")
        myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("login_2000.mdb")

        ' Opbygning af SQL streng
        strSQL = "SELECT UserID FROM Users"&_
            " WHERE (Username = '" & strUID & "')"&_
            " AND (Password = '" & strPWD & "')"

        Set rs = myConn.Execute(strSQL)
        If Not (rs.BOF Or rs.EOF) Then
            ' Hvis brugeren fandtes i databasen
            intUID = rs("UserID")
        Else
            ' Hvis brugeren ikke fandtes i databasen
            strERR = "Du blev ikke godkendt af systemet"
        End If

        ' Rydder op i vores connection objekt
        myConn.Close
        Set myConn = Nothing

        If Len(intUID) Then
            ' Hvis variablen intUID indeholder en værdi sættes denne i sessionen "UserID" og brugeren bliver sendt videre
            Session("UserID") = intUID
            Response.Redirect("beskyttet.asp")
        End If
    Else
        ' Hvis der ikke var angivet brugernavn og adgangskode
        strErr = "Du skal skrive både brugernavn og adgangskode"
    End If

    If Len(strErr) > 0 Then
        ' Her laves fejlmeddelsen om til rød skrift
        strErr = "<p><font color=red>" & strErr & "</font></p>"
    End If
End If
%>
<html><head>
<title>Login script</title>
</head><body>
<form method="POST" action="login.asp">
  <p><font size="4">Angiv brugernavn og adgangskode</font></p><%=strErr%>
  <table border="0">
    <tr>
      <td width="50%">Brugernavn:</td>
      <td width="50%"><input type="text" name="Brugernavn" size="20"> (test)</td>
    </tr>
    <tr>
      <td width="50%">Adgangskode:</td>
      <td width="50%"><input type="password" name="Adgangskode" size="20">
        (test)</td>
    </tr>
  </table>
  <p><input type="submit" value="Login" name="Action"></p>
</form>
</body></html>
Avatar billede loss Nybegynder
28. september 2002 - 14:07 #14
Prøv det her login script istedet for..

<%
SET RS = Server.CreateObject("ADODB.Connection")
rs.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath(VPath & "SecurityDB.mdb")

If Request.form("mode") = "Check" then

Function unQuote(strTekst)
  strTekst = Trim(strTekst)
  unQuote = Replace(strTekst,"%","53")
End Function
' Gemmer formfelterne i Variabler
        strUsername = unQuote(request.form("username"))
        strPassword = unQuote(request.form("password"))
       
   
  Username = strUsername
  Sql = "Select Count(*) as Found from TblPasswords  where (Username = '" & strUsername  & "') and (Password ='" & strPassword  & "')"
  Set LO = RS.Execute(Sql)
  if LO("Found") = 0 then
    Session("login") = ""
    fejl = "<font color='#FF0000'>Du blev ikke godkendt af systemet</font>"
  else
  strDSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath(VPath & "SecurityDB.mdb")
  Set myConn = Server.CreateObject("ADODB.Connection")
  myConn.Open strDSN
  strSQL = "SELECT * FROM TblPasswords  where (Username = '" & Request("username") & "') and (Password ='" & Request("password") & "')"
  Set ez = myConn.Execute(strSQL)
    Session("Username") = strUsername
    Session("login") = "True"
    End If
    Response.Redirect "Derhvorduvilhen.asp"
    EZ.Close
    RS.Close
    rsupdate.Close
    Conn.Close
  end if
%>
Avatar billede vd-per Nybegynder
28. september 2002 - 14:08 #15
kan ikke lige hitte ud a hvad og hvor jeg skal putte en anden variable ind
saa jeg kan faa Username frem nogen der har en ide og har lyst til at hjælpe?
Avatar billede vd-per Nybegynder
28. september 2002 - 14:10 #16
ohh saa ikke det sidste du havde skrevet prøver lige
Avatar billede vd-per Nybegynder
28. september 2002 - 14:34 #17
jeg kan ikke faa det til at virke
(mange tak for hjælpen thou)

det andet script jeg smed ind kan du sige mig hvor jeg skal skrive den variable for Username (U er med stort i access tablen)

(det script du har posted virker, men <%=session("username")%> virker ikke
ked a hvis du bruger al for meget tid paa det (med mindre du ikke har noget imod det
Avatar billede loss Nybegynder
28. september 2002 - 14:46 #18
hmmm underligt... <%=Session("Username")%> burde da virke i det llogin script jeg smed.. kigger lige på dit andet..
Avatar billede loss Nybegynder
28. september 2002 - 14:49 #19
<%
' Hvis der er blevet trykket på knappen "Login"
If Request.Form("Action") = "Login" Then
    ' Her forberedes de indtastede værdier til validering
    strUID = Trim(Replace(Request.Form("Brugernavn"),"'",""))
    strPWD = Trim(Replace(Request.Form("Adgangskode"),"'",""))

    ' Hvis der er skrevet noget i både brugernavn og adgangskode
    If Len(strUID) > 0 And Len(strPWD) > 0 Then

        ' DSNLess forbindelse til databasen
        Set myConn = Server.CreateObject("ADODB.Connection")
        myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("login_2000.mdb")

        ' Opbygning af SQL streng
        strSQL = "SELECT UserID, Username FROM Users"&_
            " WHERE (Username = '" & strUID & "')"&_
            " AND (Password = '" & strPWD & "')"

        Set rs = myConn.Execute(strSQL)
        If Not (rs.BOF Or rs.EOF) Then
            ' Hvis brugeren fandtes i databasen
            intUID = rs("UserID")
            Session("Username")= rs("Username")
        Else
            ' Hvis brugeren ikke fandtes i databasen
            strERR = "Du blev ikke godkendt af systemet"
        End If

        ' Rydder op i vores connection objekt
        myConn.Close
        Set myConn = Nothing

        If Len(intUID) Then
            ' Hvis variablen intUID indeholder en værdi sættes denne i sessionen "UserID" og brugeren bliver sendt videre
            Session("UserID") = intUID
            Response.Redirect("beskyttet.asp")
        End If
    Else
        ' Hvis der ikke var angivet brugernavn og adgangskode
        strErr = "Du skal skrive både brugernavn og adgangskode"
    End If

    If Len(strErr) > 0 Then
        ' Her laves fejlmeddelsen om til rød skrift
        strErr = "<p><font color=red>" & strErr & "</font></p>"
    End If
End If
%>
<html><head>
<title>Login script</title>
</head><body>
<form method="POST" action="login.asp">
  <p><font size="4">Angiv brugernavn og adgangskode</font></p><%=strErr%>
  <table border="0">
    <tr>
      <td width="50%">Brugernavn:</td>
      <td width="50%"><input type="text" name="Brugernavn" size="20"> (test)</td>
    </tr>
    <tr>
      <td width="50%">Adgangskode:</td>
      <td width="50%"><input type="password" name="Adgangskode" size="20">
        (test)</td>
    </tr>
  </table>
  <p><input type="submit" value="Login" name="Action"></p>
</form>
</body></html>


Nu skulle du meget gerne kunne skrive Username Ud et andet sted på siden (uden at åbne en ny browser op) med enten Response.Write Session("Username") eller i <%=Session("Username")%>
Avatar billede loss Nybegynder
28. september 2002 - 14:51 #20
UPS.... var lige lidt for huirtigt der.. Brug denne udgave

<%
' Hvis der er blevet trykket på knappen "Login"
If Request.Form("Action") = "Login" Then
    ' Her forberedes de indtastede værdier til validering
    strUID = Trim(Replace(Request.Form("Brugernavn"),"'",""))
    strPWD = Trim(Replace(Request.Form("Adgangskode"),"'",""))

    ' Hvis der er skrevet noget i både brugernavn og adgangskode
    If Len(strUID) > 0 And Len(strPWD) > 0 Then

        ' DSNLess forbindelse til databasen
        Set myConn = Server.CreateObject("ADODB.Connection")
        myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("login_2000.mdb")

        ' Opbygning af SQL streng
        strSQL = "SELECT UserID, Username FROM Users"&_
            " WHERE (Username = '" & strUID & "')"&_
            " AND (Password = '" & strPWD & "')"

        Set rs = myConn.Execute(strSQL)
        If Not (rs.BOF Or rs.EOF) Then
            ' Hvis brugeren fandtes i databasen
            intUID = rs("UserID")
            Username = rs("Username")
        Else
            ' Hvis brugeren ikke fandtes i databasen
            strERR = "Du blev ikke godkendt af systemet"
        End If

        ' Rydder op i vores connection objekt
        myConn.Close
        Set myConn = Nothing

        If Len(intUID) Then
            ' Hvis variablen intUID indeholder en værdi sættes denne i sessionen "UserID" og brugeren bliver sendt videre
            Session("UserID") = intUID
            Session("Username")= Username

Response.Redirect("beskyttet.asp")
        End If
    Else
        ' Hvis der ikke var angivet brugernavn og adgangskode
        strErr = "Du skal skrive både brugernavn og adgangskode"
    End If

    If Len(strErr) > 0 Then
        ' Her laves fejlmeddelsen om til rød skrift
        strErr = "<p><font color=red>" & strErr & "</font></p>"
    End If
End If
%>
<html><head>
<title>Login script</title>
</head><body>
<form method="POST" action="login.asp">
  <p><font size="4">Angiv brugernavn og adgangskode</font></p><%=strErr%>
  <table border="0">
    <tr>
      <td width="50%">Brugernavn:</td>
      <td width="50%"><input type="text" name="Brugernavn" size="20"> (test)</td>
    </tr>
    <tr>
      <td width="50%">Adgangskode:</td>
      <td width="50%"><input type="password" name="Adgangskode" size="20">
        (test)</td>
    </tr>
  </table>
  <p><input type="submit" value="Login" name="Action"></p>
</form>
</body></html>


Så skulle der være lidt mere orden i scriptet
Avatar billede loss Nybegynder
28. september 2002 - 14:54 #21
Håber det virker nu.. jeg er lige væk fra computeren et stykke tid vender tilbage senere hvis der stadig er problemer
Avatar billede vd-per Nybegynder
28. september 2002 - 15:00 #22
wuuuhuuuuuuuuu det virker 1000 tak for hjælpen (kan du ikke lige lave et svar saa jeg kan gi dig point :)
ord kan ikke gøre det (jeg har siddet i 3 dage for at faa det til at virke) :)
Avatar billede vd-per Nybegynder
28. september 2002 - 16:12 #23
jeg har lige sat nogle nye ting ind (navn, brugernavn og password) og det virker (meget nemt naar man ved hvordan)
lige en sidste ting: som databasen er nu saa er den ikke sikker.
saa hvis jeg vil ha den ud i roden skal jeg sa bare skrive:
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/secure/login_2000.mdb")
hvor secure er en asp/script only mappe?

og igen mange tak for din tid og hjælp
Avatar billede vd-per Nybegynder
28. september 2002 - 16:54 #24
har smidt et andet spørgsmaal ind her:
nulstil en sessions i et logout asp script

hvis du har lyst og tid til at hjaelpe lidt igen

(det er maaske meget simple spørgsmaal, men jeg er meget ny til asp og bruger det meget lidt saa simple ting bliver store ting for mig)
saa bær over med mig
Avatar billede loss Nybegynder
28. september 2002 - 16:55 #25
Det var så lidt...

Jeg må nok lige melde pas på det sidste spørgsmål der :).. Men ja det er bare at flytte databasen til den mappe på serveren hvor den skal ligge.. som regel hedder den DB og kan findes helt ude i roden..

men jeg må indrømme at det med secure det ved jeg ikke lige noget om desværre :(

// Loss
Avatar billede loss Nybegynder
28. september 2002 - 16:57 #26
nultil sesion..

Nulstil en session:(bruges hvis du har andre session der ikke skal "lukkes"

session("Username")= ""

Luk alle dine session på engang.

Session.Abandon

:)

simpelt hen ikke mere end det..
Avatar billede vd-per Nybegynder
28. september 2002 - 17:05 #27
k tak
behøver ikke hedde secure (det er bare en folder jeg beder webudbyderen om at låse for alt andet end scripts
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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