Avatar billede forcedesigner Nybegynder
27. juli 2002 - 14:32 Der er 7 kommentarer og
1 løsning

opret bruger problem...

Jeg har lavet en script der kan oprette brugere...men...

Hvis jeg opretter en bruger med en eksisterende brugernavn kommer der en fejl melding om at brugernavnet allerede eksistere, det er godt, men den opretter brugeren/posten alligevel, så er der lige pludseligt 2 bruger med den samme brugernavn.

Det skal ikke ske...

her er koden:

<%
Response.Buffer = True

brugernavn = Request("brugernavn")
password = Request("password")
fuldnavn = Request("fuldnavn")
alder = Request("alder")
email = Request("email")

Const adOpenKeyset = 1
Const adLockOptimistic = 3
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("system.mdb") & ";UID=admin;PWD=;"

'Tester om brugernavn findes i databasen
Set rs = Conn.execute ("SELECT * FROM bruger WHERE brugernavn='" & brugernavn & "'")

If Not rs.Eof Then
    Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#FF0000>Brugernavn er allerede i brug!<br></FONT>"
    fejl = true
End If

    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "Select * From bruger"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

%>
<% if Request.ServerVariables("REQUEST_METHOD") = "POST" then       
               
                if brugernavn = "" then
                    Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#A80000>Brugernavn mangler!<br></FONT>"
                end if
               
                if password = "" then
                    Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#A80000>Password mangler!<br></FONT>"
                end if
               
                if fuldnavn= "" then
                    Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#A80000>Dit fuldenavn mangler!<br></FONT>"
                end if
               
                if alder= "" then
                    Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#A80000>Dit alder mangler!<br></FONT>"
                end if
               
                if email= "" then
                    Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#A80000>Din e-mail mangler!<br></FONT>"
                end if
               
                   
                    if brugernavn <> "" AND password <> "" AND fuldnavn <> "" AND alder <> "" AND email <> "" then
                    rs.AddNew
                    rs("brugernavn") = Request.form("brugernavn")
                      rs("password") = Request.form("password")
                      rs("fuldnavn") = Request.form("fuldnavn")
                      rs("alder") = Request.form("alder")
                      rs("email") = Request.form("email")
                      rs("dato") = now
                    rs.update
                    Response.write "<FONT FACE=Verdana SIZE=1 COLOR=#A80000><center>Velkommen til, du er nu oprettet som en brugere.</center><br></FONT>"
                    end if
                    end if %>


hjælp mig!
Avatar billede md_craig Nybegynder
27. juli 2002 - 14:50 #1
If Not rs.Eof Then
    Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#FF0000>Brugernavn er allerede i brug!<br></FONT>"
    fejl = true

else


    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "Select * From bruger"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

%>
<% if Request.ServerVariables("REQUEST_METHOD") = "POST" then       
               
                if brugernavn = "" then
                    Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#A80000>Brugernavn mangler!<br></FONT>"
                end if
               
                if password = "" then
                    Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#A80000>Password mangler!<br></FONT>"
                end if
               
                if fuldnavn= "" then
                    Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#A80000>Dit fuldenavn mangler!<br></FONT>"
                end if
               
                if alder= "" then
                    Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#A80000>Dit alder mangler!<br></FONT>"
                end if
               
                if email= "" then
                    Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#A80000>Din e-mail mangler!<br></FONT>"
                end if
               
                   
                    if brugernavn <> "" AND password <> "" AND fuldnavn <> "" AND alder <> "" AND email <> "" then
                    rs.AddNew
                    rs("brugernavn") = Request.form("brugernavn")
                      rs("password") = Request.form("password")
                      rs("fuldnavn") = Request.form("fuldnavn")
                      rs("alder") = Request.form("alder")
                      rs("email") = Request.form("email")
                      rs("dato") = now
                    rs.update
                    Response.write "<FONT FACE=Verdana SIZE=1 COLOR=#A80000><center>Velkommen til, du er nu oprettet som en brugere.</center><br></FONT>"
                    end if
                    end if
End If
Avatar billede md_craig Nybegynder
27. juli 2002 - 14:54 #2
sådan noget lignende...

fejlen er at du køre den nederste rutine uanset om der er en eksisterende bruer eller ej... ved at tilføje else og flytte end fi ned i bunde så fortæler du den at hvid brugeren eksistere så skal den skrive

Brugernavn er allerede i brug!

og hvis det ikke er tilfældet så skal den gennemløbe den procedure der tilføjer en bruger...
Avatar billede forcedesigner Nybegynder
27. juli 2002 - 14:54 #3
Den viser fejl ved den nye else
Avatar billede md_craig Nybegynder
27. juli 2002 - 14:56 #4
har du flyttet end if ned i bunden ???
Avatar billede forcedesigner Nybegynder
27. juli 2002 - 14:58 #5
Jo nu virker den TAK md craiq
Avatar billede forcedesigner Nybegynder
27. juli 2002 - 14:58 #6
Skal du ik' have dine point??
Avatar billede forcedesigner Nybegynder
27. juli 2002 - 15:04 #7
Haloo....craiq
Avatar billede md_craig Nybegynder
27. juli 2002 - 15:26 #8
ok...
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