Avatar billede moviez Nybegynder
19. juli 2001 - 19:52 Der er 13 kommentarer og
1 løsning

Simpel Tagwall !

jeg har i min database.

bruger [tabel]
brugernavn
password

tagwall [tabel]
brugernavn
tagwall
dato

Nu har jeg lavet et simpel tagwall, men har svært ved at lave sådan den tjekker om brugernavn og password er rigtigt. (den skal hente brugernavn og password fra tabelen \"bruger\".)

her er min script.

<%
Response.Buffer = True

tagwall = Request(\"tagwall\")

Const adOpenKeyset = 1
Const adLockOptimistic = 3
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"database.mdb\") & \";UID=admin;PWD=;\"

    Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"Select * From tagwall\"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
%>

            <form method=\"post\" action=\"tagwall.asp\" id=form name=form>
              <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
                <tr>
                  <td width=\"140\" valign=\"top\" class=\"skrift\">Brugernavn:</td>
                  <td>
                    <input type=\"text\"        name=\"brugernavn\"        value=\"\" maxlength=\"50\" class=\"bottom\" size=\"30\">
                  </td>
                </tr>
                <tr>
                  <td width=\"140\" valign=\"top\" class=\"skrift\">Password:</td>
                  <td>
                    <input type=\"password\"    name=\"password\"        value=\"\" maxlength=\"50\" class=\"bottom\" size=\"30\">
                  </td>
                </tr>
                <tr>
                  <td width=\"140\" valign=\"top\" class=\"skrift\">Tagwall</td>
                  <td>
                    <textarea name=\"tagwall\" rows=\"4\" cols=\"30\" class=\"bottom\"></textarea>
                  </td>
                </tr>
                <tr>
                  <td width=\"110\" valign=\"top\">&nbsp;</td>
                  <td>
                    <input type=\"submit\" value=\"Registr&eacute;r\" class=\"bottom\">
                  </td>
                </tr>
              </table>
            </form>
            <% if Request.ServerVariables(\"REQUEST_METHOD\") = \"POST\" then       
                               
                if tagwall= \"\" then
                    Response.Write(\"Du skal angive et navn på mindst 2 tegn!<br>\")
                end if
                                   
                    if tagwall <> \"\" then
                    rs.AddNew
                    rs(\"brugernavn\") = Request.form(\"brugernavn\")
                      rs(\"tagwall\") = Request.form(\"tagwall\")
                      rs(\"dato\") = date()
                    rs.update
                    Response.Redirect(\"tagwall.asp\")
                    end if
                    end if %> 

På forhånd tak for hjælpen
Avatar billede nute Nybegynder
19. juli 2001 - 19:57 #1
Avatar billede moviez Nybegynder
19. juli 2001 - 20:00 #2
nute...der findes _Ingen_ tagwall, hvor den tjekker om bruger og password er skrevet rigtigt_
Avatar billede nute Nybegynder
19. juli 2001 - 20:09 #3
nå...det var vel litt harde ord...så du mener at du er den eneste som har gjort dette....oki...det er du selv om.

Jeg klarer ikke helt overskue din kode, men jeg ville ha gjort følgende:


<html>
<body>
<%
Dim user, pass
if( Request.ServerVariables(\"REQUEST_METHOD\") = \"POST\" ) then
    user = request.form(\"user\")
    pass = request.form(\"pass\")
    SQL = \"SELECT COUNT(*) FROM bruger WHERE brugernavn = \'\" & user & \"\' AND password = \'\" & pass & \"\'\"
    Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"database.mdb\") & \";UID=admin;PWD=;\"
  Set RS = Conn.Execute( SQL )
    if( NOT RS.EOF ) then
      response.redirect \"enside.asp\"
    else
      response.write \"Feil brukernavn eller passord\"
    end if
end if
  %>
<form name=\"form\">
Username: <input type=\"text\" name=\"user\" value=\"<%= user %>\"><br>
Password: <input type=\"password\" name=\"pass\"><br>
<input type=\"submit\">
</form>
</body>
</html>

Aner ikek om dette kan hjelpe deg, men som sagt...du belyser ikke problemet godt nok...

/nute
Avatar billede moviez Nybegynder
19. juli 2001 - 20:11 #4
nute > du mener du forstår ik helt hvad jeg mener..

jeg vil ha sådan et tagwall (speakout) ligesom på fotx.net.

hvis du ik forstår helt hvad jeg mener, så skrive lige igen !
Avatar billede moviez Nybegynder
19. juli 2001 - 20:12 #5
Avatar billede nute Nybegynder
19. juli 2001 - 20:50 #6
sånn som jeg ser det, så har http://tdaugaard.place.nu  en side for registrering av brukernavn, en side for utlisting av kommentarer og en side til registrering av kommentarer. Så langt tror jeg vi er enige. Ut fra dette, så kan jeg ikke se at jeg tar feil, meeeen...jeg kan se at hvis jeg legger til litt mer kode, så vil det være midt i blinken til ditt formål (hvis dette ikke er det du trenger, så forstår jeg overhodet ingenting...):

<html>
<body>
<%
Dim user, pass, tagwall
if( Request.ServerVariables(\"REQUEST_METHOD\") = \"POST\" ) then
    user = request.form(\"user\")
    pass = request.form(\"pass\")
    tagwall = request.form(\"tagwall\")
    SQL = \"SELECT COUNT(*) FROM bruger WHERE brugernavn = \'\" & user & \"\' AND password = \'\" & pass & \"\'\"
    Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"database.mdb\") & \";UID=admin;PWD=;\"
  Set RS = Conn.Execute( SQL )
    if( NOT RS.EOF ) then
      if( LEN(TRIM(tagwall)) > 0 ) then
          SQL = \"INSERT INTO tagwall (brugernavn, tagwall, dato) VALUES (\'\" & user & \"\', \'\" & tagwall & \"\', \" & date() & \")\"
            Conn.Execute( SQL )
          response.redirect \"tagwall.asp\"
        else
          response.write \"Skriv vennligst i tagwall feltet\"
        end if
    else
      response.write \"Feil brukernavn eller passord\"
    end if
end if
  %>
<form name=\"form\">
Username: <input type=\"text\" name=\"user\" value=\"<%= user %>\"><br>
Password: <input type=\"password\" name=\"pass\"><br>
Emne    : <input type=\"text\" name=\"topic\" value=\"<%= topic %>\"><br>
Tagwall : <textarea name=\"tagwall\" rows=\"4\" cols=\"30\" class=\"bottom\" value=\"<%= tagwall %>></textarea>
<input type=\"submit\">
</form>
</body>
</html>

/nute
Avatar billede moviez Nybegynder
19. juli 2001 - 23:40 #7
det er præcis hvad jeg vil ha..

men kan du ik gøre det på mit script ?
Avatar billede nute Nybegynder
20. juli 2001 - 09:26 #8
<html>
<body>
<%
Dim user, pass, tagwall
if( Request.ServerVariables(\"REQUEST_METHOD\") = \"POST\" ) then
    user = request.form(\"brugernavn\")
    pass = request.form(\"password\")
    tagwall = request.form(\"tagwall\")
    SQL = \"SELECT COUNT(*) FROM bruger WHERE brugernavn = \'\" & brugernavn & \"\' AND password = \'\" & password & \"\'\"
    Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"database.mdb\") & \";UID=admin;PWD=;\"
  Set RS = Conn.Execute( SQL )
    if( NOT RS.EOF ) then
      if( LEN(TRIM(tagwall)) > 0 ) then
          SQL = \"INSERT INTO tagwall (brugernavn, tagwall, dato) VALUES (\'\" & brugernavn & \"\', \'\" & tagwall & \"\', \" & date() & \")\"
            Conn.Execute( SQL )
          response.redirect \"tagwall.asp\"
        else
          response.write \"Skriv vennligst i tagwall feltet\"
        end if
    else
      response.write \"Feil brukernavn eller passord\"
    end if
end if
  %>
<form method=\"post\" action=\"\" id=form name=form>
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
  <tr>
    <td width=\"140\" valign=\"top\" class=\"skrift\">Brugernavn:</td>
    <td>
      <input type=\"text\" name=\"brugernavn\" value=\"\" maxlength=\"50\" class=\"bottom\" size=\"30\">
    </td>
  </tr>
  <tr>
    <td width=\"140\" valign=\"top\" class=\"skrift\">Password:</td>
    <td>
      <input type=\"password\" name=\"password\" value=\"\" maxlength=\"50\" class=\"bottom\" size=\"30\">
    </td>
  </tr>
  <tr>
    <td width=\"140\" valign=\"top\" class=\"skrift\">Tagwall</td>
    <td>
      <textarea name=\"tagwall\" rows=\"4\" cols=\"30\" class=\"bottom\"></textarea>
    </td>
  </tr>
  <tr>
    <td width=\"110\" valign=\"top\">&nbsp;</td>
    <td>
      <input type=\"submit\" value=\"Registr&eacute;r\" class=\"bottom\">
    </td>
  </tr>
</table>
</form>
</body>
</html>
Avatar billede moviez Nybegynder
20. juli 2001 - 16:36 #9
Fejl:

Microsoft VBScript runtime error \'800a01a8\'

Object required: \'Conn\'
Avatar billede nute Nybegynder
20. juli 2001 - 16:37 #10
bytt ut denne linje:

Dim user, pass, tagwall

med disse:

Dim user, pass, tagwall, Conn
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Avatar billede moviez Nybegynder
20. juli 2001 - 18:53 #11
den virker fint nu...men selvom jeg skriver den forkerte user/pass så indsætter den i tagwall (teksten i feltet tagwall)..
Avatar billede nute Nybegynder
20. juli 2001 - 18:58 #12
yup...det er korrekt...bytt ut denne linje:

SQL = \"SELECT COUNT(*) FROM bruger WHERE brugernavn = \'\" & brugernavn & \"\' AND password = \'\" & password & \"\'\"
   
med denne:

SQL = \"SELECT COUNT(*) AS count FROM bruger WHERE brugernavn = \'\" & brugernavn & \"\' AND password = \'\" & password & \"\'\"
   
og denne linje:

if( NOT RS.EOF ) then
     
med denne:

if( RS(\"count\") > 0 ) then

/nute

Avatar billede moviez Nybegynder
20. juli 2001 - 19:02 #13
_MEGET_ tak for hjælpen nute... :o)
Avatar billede nute Nybegynder
20. juli 2001 - 19:03 #14
anytime :)
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

IT-JOB