Avatar billede dolly Nybegynder
05. november 2002 - 17:54 Der er 2 kommentarer og
1 løsning

password

Jeg er total nybegynder med asp, og sidder med det problem, at jeg bare ikke kan få det til at virke med username og password, når man logger på et bestemt sted på mit site. Jeg har lavet forbindelse, og en database, som jeg har kaldt "users", hvor jeg skal hente username og password fra. Min primærnøgle er userID.
Jeg har nedenunder indsat det script "login1", som jeg er kørt fast i. Det script, som jeg troede, kunne gøre det?


<!-- #INCLUDE file="forbindelse.asp" -->
<%
  IF (Session("Authorized") = ("True")) THEN
    Response.Redirect "gallery.htm"
  END IF
%>

<%
' 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

dim objConn
dim objRS
set objConn = Server.CreateObject("ADODB.Connection")
set objRS = Server.CreateObject("ADODB.Recordset")


objConn.Open dbConnString
objRS.ActiveConnection = objConn

        ' Opbygning af SQL streng (database) trin FROM users (users = navn på database)
        ' primærnøgle er UserID, efterfølgende username og password
        strSQL = "SELECT UserID, trin FROM users"&_
            " WHERE (Username = '" & strUID & "')"&_
            " AND (Password = '" & strPWD & "')"

        Set rs = objConn.Execute(strSQL)
        If Not (rs.BOF Or rs.EOF) Then
            ' Hvis brugeren fandtes i databasen
            intUID = rs("UserID")
            trin = rs("trin")
            Session("Authorized") = "True"

        Else
            ' Hvis brugeren ikke fandtes i databasen
            strERR = "Du blev ikke godkendt af systemet"
        End If

        ' Rydder op i vores connection objekt
        objConn.Close
        Set objConn = 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
            If trin = 1 THEN
            Response.Redirect "gallery.htm"
            elseif trin = 2 THEN
            Response.Redirect "gallery.htm"
            END IF 
        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 = "<font color=red>" & strErr & "</font>"
    End If
End If
%>

<html>
<head>
<title>Think BIG</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<style type="text/css">
<!--
-->
</style>
<link href="ego.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="780" border="0" align="left" cellpadding="0" cellspacing="0" background="grafik/images/baggrundsgrafik_02.jpg">
  <tr>
    <td width="1" height="305" background="grafik/kant.jpg"><div align="right"></div></td>
    <td width="80"><div align="center">
        <p class="broedtxt"><img src="grafik/trans.gif" width="80" height="6"></p>
      </div></td>
    <td width="618" height="305" valign="middle" class="broedtxt"><table width="526" border="0" align="center" cellpadding="0" cellspacing="0">
        <!--DWLayoutTable-->
        <tr>
          <td height="168" valign="top"> <form name="frmNews" method="POST" action="login.asp">
              <p class="overskrifter">Type in username and password to enter gallery</p>
              <%=strErr%><br>
              <table border="0">
                <!--DWLayoutTable-->
                <tr>
                  <td width="97" height="24" class="broedtxt">Username</td>
                  <td colspan="3"><input type="text" name="Brugernavn" size="20"></td>
                </tr>
                <script language="JavaScript">
    function setLoginFocus() {
    document.frmNews.Brugernavn.focus();
    }

    setLoginFocus();
    </script>
   
                <tr>
                  <td height="24" class="broedtxt">Password</td>
                  <td colspan="3"><input type="password" name="Adgangskode" size="20">
                  </td>
                </tr>
                <tr>
                  <td height="22"></td>
                  <td width="35"></td>
                  <td width="48" valign="top"> <input class="button" type="submit" value="Login" name="Action"></td>
                  <td width="35"></td>
                </tr>
              </table>
              <p></p>
            </form></td>
        </tr>
      </table>
      <p align="center">&nbsp;</p>
      </td>
   
    <td width="80"><img src="grafik/trans.gif" width="80" height="6"></td>
    <td width="1" height="305" background="grafik/kant.jpg"></td>
  </tr>
  <tr>
    <td colspan="5"><img src="grafik/bottom_grafik.jpg" width="780" height="70"></td>
  </tr>
</table>
</body>
</html>
Avatar billede ellebaek Nybegynder
05. november 2002 - 18:36 #1
først og fremmest:
If (Len(strUID) > 0 And Len(strPWD) > 0) Then
og så ret din sql til:
strSQL = "SELECT * FROM users WHERE (Username = '" & strUID & "')"


og så ret det følgende til:
Set rs = objConn.Execute(strSQL)
        If Not (rs.BOF Or rs.EOF) Then
            if strPWD = Password then
            intUID = rs("UserID")
            trin = rs("trin")
            Session("Authorized") = "True"
end if
end if

Håber det kan forstås, ellers så sig til...!

-Ellebæk
Avatar billede ellebaek Nybegynder
05. november 2002 - 18:37 #2
igen....
din sql til:
strSQL = "SELECT * FROM users WHERE Username = '" & strUID & "'"
Avatar billede ellebaek Nybegynder
05. november 2002 - 18:39 #3
<!-- #INCLUDE file="forbindelse.asp" -->
<%
  IF (Session("Authorized") = ("True")) THEN
    Response.Redirect "gallery.htm"
  END IF
%>

<%
' 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


dim objConn
dim objRS
set objConn = Server.CreateObject("ADODB.Connection")
set objRS = Server.CreateObject("ADODB.Recordset")


objConn.Open dbConnString
objRS.ActiveConnection = objConn

        ' Opbygning af SQL streng (database) trin FROM users (users = navn på database)
        ' primærnøgle er UserID, efterfølgende username og password
        strSQL = "SELECT * FROM users WHERE Username = '" & strUID & "'"
        Set rs = objConn.Execute(strSQL)
        Set rs = objConn.Execute(strSQL)
        If Not (rs.BOF Or rs.EOF) Then
            if strPWD = Password then
            intUID = rs("UserID")
            trin = rs("trin")
            Session("Authorized") = "True"
end if

        Else
            ' Hvis brugeren ikke fandtes i databasen
            strERR = "Du blev ikke godkendt af systemet"
        End If

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

        If intUID <> "" Then
            ' Hvis variablen intUID indeholder en værdi sættes denne i sessionen "UserID" og brugeren bliver sendt videre
            Session("UserID") = intUID
            If trin = "1" THEN
            Response.Redirect "gallery.htm"
            elseif trin = "2" THEN
            Response.Redirect "gallery.htm"
            END IF 
        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 = "<font color=red>" & strErr & "</font>"
    End If
End If
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