Avatar billede jannikf Nybegynder
06. december 2004 - 01:52 Der er 15 kommentarer og
1 løsning

Problem med login system (ASP)

Jeg er nu sådan godt i gang med at lege med asp og jeg har da også fundet ud af en del, MEN jeg støder tit på problemer og så er det dejligt at have jer.

Jeg har lavet en side (index.htm) som indeholder formen. Denne side videresender formens data til login.asp, som så skal scanne disse data igennem.

Men hvordan gør jeg det?

Hvis vi siger at tabellen i db hedder "admin", brugeren er "mus" og kodeordet er "ost".

Jeg faldt i problemet fordi at hvis nu der er en bruger der hedder mus (kode:ost) en anden der hedder kat(kode:mælk) at jeg så kan komme ind med brugernavnet mus og koden mælk.

Hvordan kan jeg sikre mig at de brugernavn og pass hænger sammen?
Avatar billede michael_stim Ekspert
06. december 2004 - 02:33 #1
Du bruger AND.
SELECT * FROM admin WHERE bruger = 'mus' AND pass = 'ost'
Avatar billede michael_stim Ekspert
06. december 2004 - 02:34 #2
OBS.
En af dem skal väre unik.
Avatar billede t-rex Nybegynder
06. december 2004 - 02:53 #3
i toppen af alle side der skal være beskyttet :

<%
If isEmpty(Session("UserID")) Then
    Response.Redirect("default.asp")
End If
%>


Login filen :

<%
' 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("../din database")

        ' Opbygning af SQL streng

            strSQL = "SELECT UserID FROM pass"&_
            " WHERE (user = '" & 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("loggedin.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
%>


alt dette skulle virke...
Avatar billede t-rex Nybegynder
06. december 2004 - 02:55 #4
dette skal også ligge i logind filen :

<table width="100%" cellpadding="0" cellspacing="3" border="0">
                <tr class="border">
                  <td colspan="2" class="menuhead" height="20">&nbsp;Admin login</td>
                </tr>
                <form method="POST" action="default.asp">
                  <tr class="tableback">
                    <td width="14%" class="Brodtext">&nbsp;Navn:</td>
                    <td width="86%" class="Brodtext">
                      <input type="text" name="Brugernavn" size="20">
                    </td>
                  </tr>
                  <tr class="tableback">
                    <td width="14%" class="Brodtext">&nbsp;Password: </td>
                    <td width="86%" class="Brodtext">
                      <input type="password" name="Adgangskode" size="20">
                    </td>
                  </tr>
                  <tr align="left" class="tableback">
                    <td colspan="2" height="34"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                      <input type="submit" value="Login" name="Action">
                    </td>
                  </tr>
                </form>
              </table>



alt skal lige rettes til efter dir behov :-)
Avatar billede jannikf Nybegynder
06. december 2004 - 04:26 #5
Det virker for mig meget besværligt. Er det ikke bare at tage de data jeg har fra min form (request.form("brugernavn") og request.form("kodeord") og så sammenligne dem med databasen?
Er:
strUID = Trim(Replace(Request.Form("Brugernavn"),"'",""))
strPWD = Trim(Replace(Request.Form("Adgangskode"),"'",""))

bare for at gøre det lettere at indsætte i strSQL? Eller er det fordi at den ikke kan vises flere gange normalt?
Avatar billede coolstar Nybegynder
06. december 2004 - 21:16 #6
Nu må I have mig undskyldt, manden er ny med asp, så det er nok ikke det smarteste at sende ham en kode som er ubrugelig, uoverskuelig go direkte en gang L O R T.

Eksperten er et sted hvor vi hjælper. Det som T-rex du har gang i er at gøre det endnu værre for ham.

Jeg sidder som asp programmør i eget firma gennem 3 år, og jeg ved hvor vigtigt det er at lave det simpelt og overskueligt og hjælpe nye på vej med en god start.

Jeg ser med åben mund og grædende øjne på det script og tager mig til hovedet et par gange inden jeg kniber mig i kinden for at se om det kan være rigtigt, mage til dårligt script, ubrugeligt script skal man lede længe efter.

Min sidste kommentar er at du kan kontakte mig på thomas @ codevision .dk og så ser vi på noget simpelt, det andet er efter min mening en gang kode som lige så godt ku være taget fra et hvilket som helst nybegynder kode sted.

Min mening, mit ansvar, men for mig skal mine løsninger kører stabilt og uden unødvendigt kode stumper som forsinker afviklingen af scriptet.

Puhh det var en lang smører, men jeg er her for at hjælpe.

Jeg ved jeg har angrebet T-rex nu og burde nok smide et login script op her for at vise at det jeg siger er sandt, men er i mod at blowe scripts.

// Thomas alias Coolstar!
Avatar billede coolstar Nybegynder
06. december 2004 - 22:27 #7
Det script T-rex har her, minder til forveksling meget det som kan findes inde på asp.dk, men det er nok bare en tilfældighed og han aner garanteret ikke hvad der er galt i det ;-)

Men nok bare en tilfældighed *g*
Avatar billede michael_stim Ekspert
06. december 2004 - 22:29 #8
Som jeg forstår det, har jannikf ikke brug for et färdigt script, men hjälp til at komme videre med sit eget. Eller er jeg helt forkert på den jannikf?
Det var da en ubehagelig fremtonong du har der coolstar.
Avatar billede coolstar Nybegynder
06. december 2004 - 22:34 #9
Har fået mail fra brugeren her og han ønsker at få et godt script og det hjælper jeg ham med.

Og ja er barsk i tonen, kan ikke tolerer at folk vil gører det endnu sværer...

Fortsat god aften og lev med min tone :)
Avatar billede michael_stim Ekspert
06. december 2004 - 22:39 #10
Det er ellers ikke god eksperten-etik at löse problemer på den måde. Så er der jo ligesom ingen ide med ekspertens system. Det skal jo helst väre sådan at hvis en person söger på f eks login, så skal han finde en lösning på det han söger. Det kan han ikke på denne måde uden at maile dig.
//Michael
Avatar billede michael_stim Ekspert
06. december 2004 - 22:44 #11
Läs punkt 12 og 13 for reglementet:
http://www.eksperten.dk/regler.phtml
Avatar billede coolstar Nybegynder
07. december 2004 - 14:08 #12
hva vil du gøre, anmelde mig for mine metoder ?

I så fald, er du velkommen...
Avatar billede michael_stim Ekspert
07. december 2004 - 14:23 #13
Har jeg antydet at jeg vil anmelde dig? Jeg pröver at före en dialog, så du kan forstå hvorfor der er lavet regler her på eksperten. Accepterer man ikke de regler vil eksperten ikke fungere, altså folk kan ikke få den hjälp de behöver.
Og dine metoder fungerer ikke her, hverken for brugeren eller dig selv. Så enten er det bare at acceptere reglerne og tiltale folk på en ordentlig måde, eller blive väk.
Avatar billede coolstar Nybegynder
07. december 2004 - 14:25 #14
Jeg vil ikke paste mit login script her, som jeg bruger til kunder landet over, tror du mit arbejde ikke er penge værd. Men jeg kan hjælpe folk på vej med et andet slags script.

og nu vil jeg arbejde vidre, fortsat god dag!
Avatar billede jannikf Nybegynder
16. december 2004 - 22:53 #15
Jeg lukker. Fandt selv ud af det:

<%
If Session("login") = "nej" Then
    Response.Redirect("index.asp?besked=Du skal først logge ind i systemet!")
Elseif Session("login") = "" Then
    Response.Redirect("index.asp?besked=Du skal først logge ind i systemet!")
End If
%>

<!--#include file="connect.asp"-->
Avatar billede mikkeldreng Nybegynder
11. marts 2005 - 19:13 #16
Coolstar jeg sidder selv med nogle problemer vedrørende Login.asp? jeg har et Script som jeg kan sende til dig hvis du da vil hjælpe mig? kan jeg få din e-mail adresse?
Her er min: bofar@paradis.dk
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



IT-JOB