Avatar billede blaatand Nybegynder
10. august 2003 - 17:23 Der er 7 kommentarer og
1 løsning

if not rs.eof then?!

<!--#include file="dbconn.asp"-->
            <%
            strSQL = "SELECT * FROM T_USERS WHERE M_USERNAME= '"& Request.Form("UserName") & "'"
            Set rs = Conn.Execute(strSQL)
           
            If not rs.EOF Then
                Response.Redirect("admin.asp?mode=adduser_allreadyexists")
               
                else
               
                strSQL = "INSERT INTO T_USERS(M_USERNAME, M_PASSWORD, M_USERLEVEL) VALUES('"&Request.Form("F_USERNAME")&"', '"&Request.Form("F_PASSWORD")&"', 2)"
                Conn.Execute(strSQL)
                rs.close
                set rs = nothing   
            End if
            %>
            <!--#include file="dbclose.asp"-->

Problemet med dette kode er at ligemeget om der er et brugernavn der heder sådan i databasen, så opretter den sku aligevel en ny bruger, det skal den ikke. Jeg har brugt lignende kode før, men ligemeget hvor meget jeg kigger i den gamle kode, så kan jeg ikke få det til at fungere her...
Avatar billede eagleeye Praktikant
10. august 2003 - 17:28 #1
Prøv med:

If not (rs.EOF or rs.BOF) Then
Avatar billede eagleeye Praktikant
10. august 2003 - 17:29 #2
Oprettes den nye post med de navn som er indtastet?
Avatar billede blaatand Nybegynder
10. august 2003 - 17:31 #3
ja, den opretter derudaf med de samme indtastninger... så der er snart 20 af samme bruger...

dit foreslag hjalp ikke :/
Avatar billede eagleeye Praktikant
10. august 2003 - 17:35 #4
Prøv med dette så:

            If rs.EOF Then
             
                strSQL = "INSERT INTO T_USERS(M_USERNAME, M_PASSWORD, M_USERLEVEL) VALUES('"&Request.Form("F_USERNAME")&"', '"&Request.Form("F_PASSWORD")&"', 2)"
                Conn.Execute(strSQL)
                rs.close
                set rs = nothing   

            else

                Response.Redirect("admin.asp?mode=adduser_allreadyexists")
               
            End if
Avatar billede blaatand Nybegynder
10. august 2003 - 17:38 #5
den adder bare videre...
Avatar billede blaatand Nybegynder
10. august 2003 - 17:45 #6
forresten inden dbconn filen ligger dette kode, ikke for det er så relevant, men men:

<%
If Request.QueryString("mode") = "adduser_post" then
strM_USERNAME = Request.Form("F_USERNAME")
strM_PASSWORD = Request.Form("F_PASSWORD")
%>
Avatar billede eagleeye Praktikant
10. august 2003 - 17:49 #7
Det fordi du bruger forkert input-felt navn i den SQL som tjekker navnet

Det er Request.Form("UserName"), men når du ligger i DBen er det Request.Form("F_USERNAME") og du skrev navnet kom rigtigt i så ret den første SQL fra:

strSQL = "SELECT * FROM T_USERS WHERE M_USERNAME= '"& Request.Form("UserName") & "'"

Til:

strSQL = "SELECT * FROM T_USERS WHERE M_USERNAME= '"& Request.Form("F_USERNAME") & "'"
Avatar billede blaatand Nybegynder
10. august 2003 - 17:52 #8
whaa, jeg vidste jeg havde lavet sådan noget pis :)

varmen gør virkelig at man ikke gider lave noget, og man bliver sløvere i betrækket helt sikkert :)

siger tak 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