23. marts 2004 - 09:53Der er
41 kommentarer og 1 løsning
sql fejl.
SQL = "SELECT * FROM Tuser WHERE (FBruger = '" & Bruger & "') AND (Godkendt = 2)" en der lige kan se en bug der ?
Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80040E07) [Microsoft][ODBC Microsoft Access-driver] Datatyperne stemmer ikke overens i kriterieudtrykket. /mikkel/login.asp, line 57
har et feldt der hedder godkendt og en som hedder FBruger
fruth kewl du lige poster din løsning når du selv finder den, mange lukker bare spg. og skriver fandt selv ud af det. Det er p.... irreterende for dem der søger på eksperten og få en masse relevante spg. men uden svar i......
oki hvis jeg nu smider min kode her.. så er det nok lidt nemmer.. der kan godt komme flere på point til den som hjælper mig..
<% if request("send1") <> "" then Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("Database/brugerdatabasen.mdb") Conn.Open DSN
Dim Bruger, Pass Bruger = Trim(Request.Form("FBruger")) Pass = Trim(Request.Form("FPass"))) SQL = "SELECT * FROM Tuser WHERE (FBruger = '"& Bruger &"') AND (Godkendt = '2')" set rs = conn.execute(SQL) If rs.EOF Then response.redirect "default.asp?loginskriv=Forkert brugernavn" Elseif rs("FPass") = pass Then if rs.fields("brugerlevel") = "1" then session("loginoki") = Bruger Session("forumbruger") = "Member" response.redirect "default.asp?bruger="&Bruger&"" elseif rs.fields("brugerlevel") = "2" then session("loginoki") = Bruger Session("forumadmin") = "Forum admin" Session("kanaltiverden") = "daadminnegerpikneger" Session("ID") = rs("id") response.redirect "default.asp?bruger="&Bruger&"" elseif rs.fields("brugerlevel") = "3" then session("loginoki") = Bruger Session("daadminbruger") = "über admin" Session("kanaltiverden") = "daadminnegerpikneger" Session("ID") = rs("id") response.redirect "default.asp?id=bruger1&bruger="&Bruger&"" end if Else response.redirect "default.asp?loginskriv=Forkert password" end if end if %>
Dim Bruger, Pass Bruger = Trim(Request.Form("FBruger")) Pass = Trim(Request.Form("FPass"))) SQL = "SELECT * FROM Tuser WHERE (FBruger = '"& Bruger &"')" set rs = conn.execute(SQL) If rs.EOF Then response.redirect "default.asp?loginskriv=Forkert brugernavn" Elseif rs("FPass") = pass Then if rs.fields("brugerlevel") = "1" then session("loginoki") = Bruger Session("forumbruger") = "Member" response.redirect "default.asp?bruger="&Bruger&"" elseif rs.fields("brugerlevel") = "2" then session("loginoki") = Bruger Session("forumadmin") = "Forum admin" Session("kanaltiverden") = "daadminnegerpikneger" Session("ID") = rs("id") response.redirect "default.asp?bruger="&Bruger&"" elseif rs.fields("brugerlevel") = "3" then session("loginoki") = Bruger Session("daadminbruger") = "über admin" Session("kanaltiverden") = "daadminnegerpikneger" Session("ID") = rs("id") response.redirect "default.asp?id=bruger1&bruger="&Bruger&"" end if Else response.redirect "default.asp?loginskriv=Forkert password" end if end if %>
der skal du nok ha en boolean oprettet som står til true or false (ja/nej felt i din db) så kan du chekke den inden du løber vidre
If rs.EOF Then response.redirect "default.asp?loginskriv=Forkert brugernavn" Elseif rs("FPass") = pass Then if rs("aktiveret" = true Then if rs.fields("brugerlevel") = "1" then session("loginoki") = Bruger Session("forumbruger") = "Member" response.redirect "default.asp?bruger="&Bruger&"" elseif rs.fields("brugerlevel") = "2" then session("loginoki") = Bruger Session("forumadmin") = "Forum admin" Session("kanaltiverden") = "daadminnegerpikneger" Session("ID") = rs("id") response.redirect "default.asp?bruger="&Bruger&"" elseif rs.fields("brugerlevel") = "3" then session("loginoki") = Bruger Session("daadminbruger") = "über admin" Session("kanaltiverden") = "daadminnegerpikneger" Session("ID") = rs("id") response.redirect "default.asp?id=bruger1&bruger="&Bruger&"" end if Else response.redirect "default.asp?loginskriv=Ikke aktiveret" end if Else response.redirect "default.asp?loginskriv=Forkert password" end if
er det KUN dem med 2 der må logge ind ? så er det godt nok med med den AND du havde i din sql sætning men må alle der er oprettet og aktiveret så skal den bare slettes som jeg lige ser det :)
Kun dem med 2 må logge ind.. men alle der oprette starter med 1 i godkendt og må derfor ikke logge ind før de har godkendt deres mail.. hvor der er et link som laver godkendt om til 2
If rs.EOF Then response.redirect "default.asp?loginskriv=Forkert brugernavn" Elseif rs("FPass") = pass Then if rs("godkendt") = "2" Then if rs.fields("brugerlevel") = "1" then session("loginoki") = Bruger Session("forumbruger") = "Member" response.redirect "default.asp?bruger="&Bruger&"" elseif rs.fields("brugerlevel") = "2" then session("loginoki") = Bruger Session("forumadmin") = "Forum admin" Session("kanaltiverden") = "daadminnegerpikneger" Session("ID") = rs("id") response.redirect "default.asp?bruger="&Bruger&"" elseif rs.fields("brugerlevel") = "3" then session("loginoki") = Bruger Session("daadminbruger") = "über admin" Session("kanaltiverden") = "daadminnegerpikneger" Session("ID") = rs("id") response.redirect "default.asp?id=bruger1&bruger="&Bruger&"" end if Else response.redirect "default.asp?loginskriv=Ikke aktiveret" end if end if Else response.redirect "default.asp?loginskriv=Forkert password" end if %>
Dim Bruger, Pass Bruger = Trim(Request.Form("FBruger")) Pass = Trim(Request.Form("FPass"))) SQL = "SELECT * FROM Tuser WHERE (FBruger = '"& Bruger &"')" set rs = conn.execute(SQL) If rs.EOF Then response.redirect "default.asp?loginskriv=Forkert brugernavn" Elseif rs("FPass") = pass Then if rs.fields("brugerlevel") = "1" then response.redirect "default.asp?loginskriv=Bruger Ikke Aktiveret" elseif rs.fields("brugerlevel") = "2" then session("loginoki") = Bruger Session("forumadmin") = "Forum admin" Session("kanaltiverden") = "daadminnegerpikneger" Session("ID") = rs("id") response.redirect "default.asp?bruger="&Bruger&"" elseif rs.fields("brugerlevel") = "3" then session("loginoki") = Bruger Session("daadminbruger") = "über admin" Session("kanaltiverden") = "daadminnegerpikneger" Session("ID") = rs("id") response.redirect "default.asp?id=bruger1&bruger="&Bruger&"" end if Else response.redirect "default.asp?loginskriv=Forkert password" end if
lige noget helt andet så ville jeg lave det med 4 levels så..... 1 = ikke aktiveret 2 = bruger (kan poste indlæg) 3 = co-admin (kan slette indlæg) 4 = admin (kan alt)
Så undgår man en masse crap hvis brugeren skal ha en E-Mail adresse der kan spores........og skal man være rigtig efiktiv så skal man sortere hotmail, rocketmail og sådan nogen fra altså de gratis :)
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.