Avatar billede cronck Nybegynder
29. oktober 2003 - 20:25 Der er 11 kommentarer og
2 løsninger

Tjek om bruger eksisterer

Hej eksperter!

Er der en af jer der kan fortælle mig hvorfor dette ikke virker?
Og hvis det kommer til at virke sådan her, vil det fungere frygtelig langsomt...

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("cgi-bin/database.mdb")
Conn.Open DSN

strSQLUsers = "Select * from tbl_users"
Set rsUsers = Conn.Execute(strSQLUsers)
username = Request.Form("struser")
rsusername = request.rsUsers("Username")

Do while not rsUsers.EOF
if username = rsusername then
    response.redirect "opret.asp?error=Brugernavnet eksisterer allerede!"
end if
rsUsers.MoveNext
loop
Avatar billede cronck Nybegynder
29. oktober 2003 - 20:26 #1
glemte lige at give jer disse linier:
strSQLUsers = "Select * from tbl_users"
Set rsUsers = Conn.Execute(strSQLUsers)
Avatar billede mm12010 Nybegynder
29. oktober 2003 - 20:29 #2
strSQLUsers = "Select * from tbl_users WHERE brugernavn = '"& Request.Form("struser")& "'"
Set rsUsers = Conn.Execute(strSQLUsers)

If not rsUsers.EOF then
    response.redirect "opret.asp?error=Brugernavnet eksisterer allerede!"
end if
Avatar billede a-torsten Nybegynder
29. oktober 2003 - 20:30 #3
Denne ku måske bruges....
username = Trim(Replace(Request.Form("Brugernavn"),"'",""))

Sql = "Select * From tbl_users where Username = '"&username&"'"
Set rsUsers = Conn.Execute(Sql)

If not rs.eof then
response.redirect "opret.asp?error=Brugernavnet eksisterer allerede!"
end if
Avatar billede a-torsten Nybegynder
29. oktober 2003 - 20:30 #4
Både for langsom og for kert ;o)

If not rsUsers.eof then
response.redirect "opret.asp?error=Brugernavnet eksisterer allerede!"
end if

/Anders
Avatar billede cronck Nybegynder
29. oktober 2003 - 20:31 #5
Hmm... mm12010 svarede godt, nok først...
men synes alligevel at det er retfærdigt at dele point'ne op...
Ok?
Avatar billede mm12010 Nybegynder
29. oktober 2003 - 20:32 #6
svar :o)
Avatar billede cronck Nybegynder
29. oktober 2003 - 20:33 #7
Accepter :o)
Avatar billede cronck Nybegynder
29. oktober 2003 - 20:33 #8
hov...
Prøver lige igen
Avatar billede cronck Nybegynder
29. oktober 2003 - 20:33 #9
Accepter :o)
Avatar billede cronck Nybegynder
29. oktober 2003 - 20:34 #10
Skal jeg egenglig stadig bruge loopet?
Avatar billede cronck Nybegynder
29. oktober 2003 - 20:46 #11
someone please
Avatar billede cronck Nybegynder
29. oktober 2003 - 20:47 #12
Den oprettet stadig brugeren selvom navnet er i brug...

her er koden:
<%

response.buffer = true

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("cgi-bin/database.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strDSN

username = Trim(Replace(Request.Form("Brugernavn"),"'",""))

Sql = "Select * From tbl_users where Username = '"&username&"'"
Set rsUsers = Conn.Execute(Sql)

If not rsUsers.eof then
response.redirect "opret.asp?error=Brugernavnet eksisterer allerede!"
end if

username = Request.Form("struser")
name = Request.Form("strname")
password = Request.Form("strpass")
email = Request.Form("stremail")
description = Request.Form("strdescription")

' KONTROLLERER USERNAME
If InStr(username,chr(34)) <> 0 or InStr(username,chr(39)) <> 0 then
    response.redirect "opret.asp?error=Du har brugt nogle ugyldige tegn i dit brugernavn"
end if
usernameLength = Len(username)
if usernameLength < 5 or usernameLength > 15 then
    response.redirect "opret.asp?error=Dit brugernavn skal være mellem 5-15 tegn"
end if


' KONTROLLERER PASSWORD
passwordLength = Len(password)
if passwordLength < 5 or passwordLength > 15 then
    response.redirect "opret.asp?error=Dit password skal være mellem 5-15 tegn"
end if
If InStr(password,chr(34)) <> 0 or InStr(password,chr(39)) <> 0 then
    response.redirect "opret.asp?error=Du har brugt nogle ugyldige tegn i dit password"
end if

if request.form("strpass") = "" OR request.form("strpass2") = "" OR request.form("struser") = "" OR request.form("stremail") = "" OR request.form("strdescription") = "" then
  response.redirect "opret.asp?error=Et eller flere felter blev ikke udfyldt!"
end if

if request.form("strpass") <> request.form("strpass2") then
  response.redirect "opret.asp?error=De 2 passwords var ikke ens!"
end if

sql = "Insert Into tbl_users(Username, Name, Password, Email, Description) Values('"
  sql = sql & Request.Form("struser") & "','"
  sql = sql & Request.Form("strname") & "','"
  sql = sql & Request.Form("strpass") & "','"
  sql = sql & Request.Form("stremail") & "','"
  sql = sql & Request.Form("strdescription") & "')"
Conn.Execute(sql)
Conn.Close
response.redirect "login.asp?error=Brugeren er nu oprettet!"

%>
Avatar billede cronck Nybegynder
29. oktober 2003 - 20:55 #13
Har fået det til at virke...
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