Avatar billede nicolair Nybegynder
04. marts 2002 - 18:24 Der er 9 kommentarer

Check om navn ER taget

Hejsa!

Nogen der kender en måde til at et script checker om et brugernavn ER taget fra en Access Database?

Jeg har prøvet, inde i databasen kan man vælge: Ja - Ingen Dubletter!

Men brugerne skal jo få en fejl meddelse hvis der ER en bruger med det brugernavn i forvejen!!

Nogen bud?
Avatar billede netsrac Praktikant
04. marts 2002 - 18:30 #1
Set rs = Conn.execute("select brugernavn from brugere where brugernavn = '" & newbruger & "'")
If rs.eof Then
  'Brugernavnet er ledigt
Else
  'Brugernavnet er optaget
End if
Set rs = nothing
Avatar billede nicolair Nybegynder
04. marts 2002 - 18:48 #2
Tak!

Ved godt at det er en Basal fejl!
Men kan ikke huske hvordan man retter den - da det der står ikke hjælper!

Der opstod en Microsoft VBScript-kørselsfejl fejl '800a01a8'

Et objekt er obligatorisk: "

create.asp, linje 86


----------Hele min kode--------------

<% if s = "3" then %>
        <font face="Tahoma" size="1"><%
       
        newbruger = Request.form("username")

Const adOpenKeyset = 1
Const adLockOptimistic = 3

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

Set aa = Conn.execute("select username from users where username = '" & newbruger & "'")
If aa.eof Then
  Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "Select * From users"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

      rs.AddNew
      rs("Username") = Request.form("username")
      rs("Password") = Request.form("password")
      rs("email") = Request.form("email")
      rs.Update
     
      reponse.write "The player, " & rs("Username") & " is created!<br><br><a href='login.asp'>Login here</a>"
Else
  Response.write "<b> [ The Username: " & Request.form("username") & " <br>... is already taken ]</b><br><br><a href='create.asp?s=2'>Back</a>"
End if
Set aa = nothing
   
%>
        </font>
<% rs.Close
    Set rs = Nothing

Conn.Close
set Conn = Nothing %>

<% end if %>
Avatar billede coltau Juniormester
05. marts 2002 - 08:35 #3
Du skal flytte Set "rs = nothing" inden for if-sætningen således at den kun bliver udført hvis "rs" åbnes.

Set aa = Conn.execute("select username from users where username = '" & newbruger & "'")
If aa.eof Then
  Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "Select * From users"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

      rs.AddNew
      rs("Username") = Request.form("username")
      rs("Password") = Request.form("password")
      rs("email") = Request.form("email")
      rs.Update
     
      reponse.write "The player, " & rs("Username") & " is created!<br><br><a href='login.asp'>Login here</a>"
      rs.Close ' Må kun lukkes når den er åben
      Set rs = Nothing
Else
  Response.write "<b> [ The Username: " & Request.form("username") & " <br>... is already taken ]</b><br><br><a href='create.asp?s=2'>Back</a>"
End if
Set aa = nothing
   
%>
        </font>
<%
Avatar billede nicolair Nybegynder
05. marts 2002 - 20:09 #4
Tak Coltau!

Men nu er der en ny fejl i den hvor der bliver oprettet en bruger!!

Brugeren NÅR at blive oprettet og så kommer fejlen!!

-------------------

Der opstod en Microsoft VBScript-kørselsfejl fejl '800a01a8'

Et objekt er obligatorisk: "
create.asp, linje 78

---------------------

Linje 78 er:

reponse.write "The player, " & rs("Username") & " is created!<br><br><a href=""login.asp"">Login here</a>"
Avatar billede nicolair Nybegynder
05. marts 2002 - 20:11 #5
please help!!

Ved godt at det er meget pinligt da dette normalt er det simpelste ASP der findes!! Men kan fandme ikke huske hvordan man retter fejlen!!
Avatar billede coltau Juniormester
05. marts 2002 - 20:24 #6
Det er ikke pinligt - men rs er jo lukke med rs.close når linie 78 udføres. Du kan lige før rs.close lave denne linie:

strUserName = rs("username")

og så ændre sidste linie til:

reponse.write "The player, " & strUsername & " is created!<br><br><a href=""login.asp"">Login here</a>"
Avatar billede nicolair Nybegynder
05. marts 2002 - 20:32 #7
TAK!
Avatar billede nicolair Nybegynder
05. marts 2002 - 20:37 #8
Den er der stadigvæk!!

-------------------------- Kode start -------------------------------

<%
       
        newbruger = Request.form("username")

Const adOpenKeyset = 1
Const adLockOptimistic = 3

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

Set aa = Conn.execute("select username from users where username = '" & newbruger & "'")
If aa.eof Then
  Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "Select * From users"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

      rs.AddNew
      rs("Username") = Request.form("username")
      rs("Password") = Request.form("password")
      rs("email") = Request.form("email")
      rs.Update
     
      strUserName = rs("username")
     
      rs.Close
      Set rs = Nothing
     
      reponse.write "The player, " & strUsername & " is created!<br><br><a href=""login.asp"">Login here</a>"
Else
  Response.write "<b> [ The Username: " & Request.form("username") & " <br>... is already taken ]</b><br><br><a href='create.asp?s=2'>Back</a>"
End if
Set aa = nothing
   
%>

-------------------------------- Kode slut ------------------------
Avatar billede coltau Juniormester
05. marts 2002 - 20:52 #9
Sorry - det er bare en stavefejl i denne linie:

reponse.write "The player, " & strUsername & " is created!<br><br><a href=""login.asp"">Login here</a>"

Det hedder ikke reponse.write - men response.write:

response.write "The player, " & strUsername & " is created!<br><br><a href=""login.asp"">Login here</a>"
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