Avatar billede webberen Nybegynder
31. oktober 2001 - 16:17 Der er 3 kommentarer og
1 løsning

HVORDAN!? - med ASP

Jeg har lavet et ASP-script som skal oprette en bruger i en database. MEN hvordan får jeg kædet de to scripts sammen, så den tjekker om brugernavnet er taget?

Her er oprettelses scriptet:
<% mode = request(\"mode\") %>
                  <%
Const adOpenKeyset = 1
Const adLockOptimistic = 3
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"../db/database.mdb\") & \";UID=admin;PWD=;\"

    Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"Select * From users\"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
%>
                  <% if mode =\"\" then %>
                <form action=\"signin.asp?mode=tilfojet\" method=\"post\">
                  <center>
                    <font face=tahoma size=2>
                    <div align=\"center\">
             
      <table width=\"400\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\" class=\"bottom\" align=\"center\">
        <tr>
          <td><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Email:</font><br>
            <input type=\"text\" name=\"email\" maxlength=\"100\" class=\"bottom\">
          </td>
          <td width=\"251\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Units:</font</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td width=\"251\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>
            <input type=\"Submit\" value=\"Tilf&oslash;j\" name=\"Submit\">
            </b></font></td>
        </tr>
      </table>
              <br>
              <b><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\" class=\"mehr_platz\">
              </font></b> <br>

                    </div>
                    </font>
                  </center>
                  <br>
                </form>
               
<% end if %>
<% if mode =\"tilfojet\" then

      rs.AddNew
      rs(\"username\") = Request.form(\"email\")
      rs(\"e-mail\") = Request.form(\"email\")
rs(\"dato\") = date()
      rs(\"klokken\") = time()
      rs.Update
%>
Bruger oprettet.
<% end if %>
</body>
</html>

Og her er brugernavn tjekket:
<%
Dim userName, Conn, dbConn
dbConn = \"SERVER=local; DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"db.mdb\")
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open dbConn

userName = Request(\"userName\")

SQL = \"SELECT * FROM tabell WHERE userName LIKE \'\" & userName & \"\'\"
Set RS = Conn.Execute( SQL )

if( RS.EOF OR RS.BOF ) then
  SQL = \"INSERT INTO tabell (userName) VALUES( \'\" & userName & \"\', 1 )\"
    Conn.Execute( SQL )
    response.write(\"Bruker opprettet\");
else
      response.write(\"Det finnes en bruker i databasen\")
end if
RS.Close
Set RS = nothing
Conn.close
Set Conn = nothing
%>

HJÆÆÆLP!!!
Avatar billede webberen Nybegynder
31. oktober 2001 - 16:21 #1
Flere points kan godt diskuteres...
Avatar billede ellebaek Nybegynder
31. oktober 2001 - 16:25 #2
<% mode = request(\"mode\") %>
                  <%
Const adOpenKeyset = 1
Const adLockOptimistic = 3
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"../db/database.mdb\") & \";UID=admin;PWD=;\"

    Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"Select * From users\"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
%>
                  <% if mode =\"\" then %>
                <form action=\"signin.asp?mode=tilfojet\" method=\"post\">
                  <center>
                    <font face=tahoma size=2>
                    <div align=\"center\">
             
      <table width=\"400\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\" class=\"bottom\" align=\"center\">
        <tr>
          <td><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Email:</font><br>
            <input type=\"text\" name=\"email\" maxlength=\"100\" class=\"bottom\">
          </td>
          <td width=\"251\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Units:</font</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td width=\"251\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>
            <input type=\"Submit\" value=\"Tilf&oslash;j\" name=\"Submit\">
            </b></font></td>
        </tr>
      </table>
              <br>
              <b><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\" class=\"mehr_platz\">
              </font></b> <br>

                    </div>
                    </font>
                  </center>
                  <br>
                </form>
               
<% end if %>
<% if mode =\"tilfojet\" then
Dim userName, Conn, dbConn
dbConn = \"SERVER=local; DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"db.mdb\")
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open dbConn

userName = Request(\"userName\")

SQL = \"SELECT * FROM tabell WHERE userName LIKE \'\" & userName & \"\'\"
Set RS = Conn.Execute( SQL )

if( RS.EOF OR RS.BOF ) then

      rs.AddNew
      rs(\"username\") = Request.form(\"email\")
      rs(\"e-mail\") = Request.form(\"email\")
rs(\"dato\") = date()
      rs(\"klokken\") = time()
      rs.Update
else response.write \"brugeren er oprettet...!\"
end if
%>
Bruger oprettet.
<% end if %>
</body>
</html>

Og her er brugernavn tjekket:
<%
Dim userName, Conn, dbConn
dbConn = \"SERVER=local; DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"db.mdb\")
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open dbConn

userName = Request(\"userName\")

SQL = \"SELECT * FROM tabell WHERE userName LIKE \'\" & userName & \"\'\"
Set RS = Conn.Execute( SQL )

if( RS.EOF OR RS.BOF ) then
  SQL = \"INSERT INTO tabell (userName) VALUES( \'\" & userName & \"\', 1 )\"
    Conn.Execute( SQL )
    response.write(\"Bruker opprettet\");
else
      response.write(\"Det finnes en bruker i databasen\")
end if
RS.Close
Set RS = nothing
Conn.close
Set Conn = nothing
%>

Umiddelbart burde dette virke...
Avatar billede webberen Nybegynder
31. oktober 2001 - 16:32 #3
Nu har jeg prøvet men den siger:
Microsoft OLE DB Provider for ODBC Drivers fejl \'80004005\'

[Microsoft][ODBC Driver Manager] Datakildenavnet blev ikke fundet, og der er ikke angivet en standarddriver.

/bruger/signin2.asp, linje 49

Og linje 49 er:
Conn.Open dbConn

hmmm, hvad er der mon galt? Jeg vil lige gøre opmærksom på at jeg KUN har tage det øverste script af dit svar.
Avatar billede eagleeye Praktikant
31. oktober 2001 - 22:57 #4
<% mode = request(\"mode\") %>
<%
Const adOpenKeyset = 1
Const adLockOptimistic = 3
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"../db/database.mdb\") & \";UID=admin;PWD=;\"

Set rs = Server.CreateObject(\"ADODB.RecordSet\")
strSQL = \"Select * From users\"
rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
%>
<% if mode =\"\" then %>
<form action=\"signin.asp?mode=tilfojet\" method=\"post\">
<center>
<font face=tahoma size=2>
<div align=\"center\">

<table width=\"400\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\" class=\"bottom\" align=\"center\">
<tr>
<td><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Email:</font><br>
<input type=\"text\" name=\"email\" maxlength=\"100\" class=\"bottom\">
</td>
<td width=\"251\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Units:</font</td>
</tr>
<tr>
<td>&nbsp;</td>
<td width=\"251\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>
<input type=\"Submit\" value=\"Tilf&oslash;j\" name=\"Submit\">
</b></font></td>
</tr>
</table>
<br>
<b><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\" class=\"mehr_platz\">
</font></b> <br>

</div>
</font>
</center>
<br>
</form>

<% end if %>
<% if mode =\"tilfojet\" then

RS.Close
strSQL = \"Select * From users WHERE userName = \'\" & Request.form(\"email\") & \"\'\"
rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
if (RS.EOF AND RS.BOF) then
  rs.AddNew
  rs(\"username\") = Request.form(\"email\")
  rs(\"e-mail\") = Request.form(\"email\")
  rs(\"dato\") = date()
  rs(\"klokken\") = time()
  rs.Update
  response.write(\"Bruker opprettet\");
else
  response.write(\"Det finnes en bruker i databasen\")
end if

end if %>
</body>
</html>
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