Avatar billede gatez Nybegynder
19. juni 2001 - 13:21 Der er 15 kommentarer og
2 løsninger

Opret, Slet og Læs fra Database

Hej Alle Sammen!

Jeg er ved at lave et ASP script som kan læse fra en database og slette i databasen og oprette.

Det kan se på http://www.betabot.dk/test/admin.asp
Password til login er:  tester
Det virker fint for man kan læse i databasen men ikke slette... ? Hjælp ?

Man skulle også kunne oprette en ny bruger på adressen:  http://www.betabot.dk/test/tilmeld.htm
Det virker slet ikke ? Hjælp ?

Hvis du vil hjælpe mig har jeg lavet en ftp adgang til dig:

Host:  betabot.dk
User:  tester
Pass:  beta

Når du har kigget på det så skriv her på siden når mit script virker så vil jeg teste det og give dig dine point.  TAK TAK TAK HJÆLP.

- Gatez
Avatar billede seider Nybegynder
19. juni 2001 - 13:23 #1
lige smide SQL koden med næste gang !

Inserte into <Tabel> (navn,Epost....)

www.fotx.net/seider
Avatar billede harlequin Nybegynder
19. juni 2001 - 13:29 #2
er du sikker på at der er skrive rettigheder (IUSER modify rettigheder) på den mapper hvor databasen ligger ?
hvis der ikke er, kontakt din udbyder og få det oprettet
Avatar billede gatez Nybegynder
19. juni 2001 - 13:30 #3
HER ER ADMIN.ASP:


<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<%
\' Her skal du ændre et par små ting
password = \"tester\"


mode = request(\"mode\")
\' Loader databasen ind i hukommelsen
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"pass.mdb\")
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open strDSN
%>

<html>
<head>
    <title>Administrator afdeling</title>
</head>

<body>

<%
if mode = \"\" then
    call login
end if


if mode = \"login\" then
    if request(\"pass\") = password then
        call besked
        call sletbruger
    else
        response.write \"Forkedt password<br>\"
        call login
    end if
end if


if mode = \"sletbruger\" then
    id = request(\"delet\")
    if id = \"\" then
        response.write \"<font color=\'red\'>Du skal v&aelig;lge et medlem</font>\"
        fejl = 1
    end if
    if fejl = 1 then
        call sletbruger
    end if
    if not fejl = 1 then
        str = request(\"delet\") & \", \"
   
        lPos = 1
        Do While lPos <= Len(str)
            If InStr(lPos, str, \", \") = 0 Then Exit do
            aItem = Mid(str, lPos, InStr(lPos, str, \", \") - lPos)
            lPos = lPos + InStr(lPos, str, \", \") - lPos + 2
            aItem2 = aItem
            strSQL = \"SELECT * FROM pass WHERE ID = \" & aItem2 & \"\"
            Set rs = myConn.Execute(strSQL)
            link = rs(\"bruger\")
            email = rs(\"pass\")
            strSQL = \"Delete * FROM pass WHERE\"
            strSQL = strSQL & \" (ID LIKE \'%\" & aItem & \"%\')\"
            Set rs = myConn.Execute(strSQL)
            response.write \"Medlemmet er slettet<br>\"
        loop
        call besked
        call sletbruger
    end if
end if

%>
</body>
</html>

<%sub besked %>

<%end sub %>

<%sub login %>
    <form action=\"admin.asp\" method=\"POST\">
    <input type=\"Hidden\" name=\"mode\" value=\"login\">
    Indtast dit password<br><input type=\"password\" name=\"pass\" size=\"20\"><br>
    <input type=\"Submit\" value=\"Login\">
    </form>
<%end sub %>

<%sub sletbruger
    strSQL = \"SELECT * FROM pass\"
    Set rs = myConn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then

        response.write \"<br><font size=\'4\'>Her kan du slette en bruger</font><br>\"
        response.write \"<table border=\'1\'><tr><td>Slet</td><td>Bruger</td><td>Password</td></tr>\"
        response.write \"<form action=\'admin.asp\' method=\'POST\'><input type=\'Hidden\' name=\'mode\' value=\'sletbruger\'>\"

            Do While Not rs.EOF %>
                <tr>
                <td valign=\"top\">
                    <input type=\"Checkbox\" name=\"delet\" value=\"0\">
                </td>
                <td valign=\"top\">
                    <%response.write rs(\"bruger\") %></td><td valign=\"top\"><%response.write rs(\"pass\") %></td></tr><%
                rs.movenext
            loop

        response.write \"<tr><td><input type=\'Submit\' value=\'Slet Bruger\'></td></tr></form>\"
        response.write \"</table>\"
    else
        response.write \"Der er ingen bruger i databasen\"
    end if

end sub %>
Avatar billede gatez Nybegynder
19. juni 2001 - 13:31 #4
HER ER DO.APS:

<%
\' Henter mode - Hver du vil havde script til at gøre
mode = request(\"mode\")
\' Loader databasen ind i hukommelsen
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"cgi-bin/mail.mdb\")
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open strDSN


%>
<html>
<head>
    <title>Bruger Liste</title>
</head>

<body>
<%
\' Framelder Bruger og Password fra listen
if mode = \"frameld\" then
    email = request(\"email\")

    \'Tjekke om der er skrevet nogen email
    if email = \"\" then
        response.write \"Du skal skrive et password her\"
        fejl = 1
    end if

    \'Tjekker om brugeren findes
    strSQL = \"SELECT * FROM pass WHERE\"
    strSQL = strSQL & \" (bruger LIKE \'%\" & bruger & \"%\')\"
    Set rs = myConn.Execute(strSQL)
    if (rs.BOF Or rs.EOF) Then
        response.write \"Brugeren findes ikke i listen<br>\"
        fejl = 1
    end if
    \' Sletter brugen hvis ingen fejl er fundet
    if not fejl = 1 then
        strSQL = \"Delete * FROM pass WHERE\"
        strSQL = strSQL & \" (bruger LIKE \'%\" & bruger & \"%\')\"
        Set rs = myConn.Execute(strSQL)
        response.write \"Brugeren er nu slettet<br>\"
    end if
    if fejl = 1 then
        call frameld
    end if
end if

\' Tilføjer bruger og password til listen
if mode = \"\" then
    navn = request(\"bruger\")
    email = request(\"pass\")

    \' Tjekker om brugeren er skrevet
    if navn = \"\" then
        response.write \"Skriv venligst dit navn<br>\"
        fejl = 1
    end if

    \'Tjekker om passwordet er skrevet
    if email = \"\" then
        response.write \"Skriv venligst dit password<br>\"
        fejl = 1
    end if
   
    \'Tjekker for om brugeren findes i listen
    strSQL = \"SELECT * FROM pass WHERE\"
    strSQL = strSQL & \" (bruger LIKE \'%\" & bruger & \"%\')\"
    Set rs = myConn.Execute(strSQL)
    if not (rs.BOF Or rs.EOF) Then
        response.write \"Brugeren findes allerede i listen<br>\"
        fejl = 1
    end if
   
    \'Tilføjer brugeren, hvis der ikke er fundet en fejl i mellem tiden
    if not fejl = 1 then
        strSQL = \"INSERT INTO pass (bruger,pass) VALUES (\'\" & bruger & \"\',\'\" & password & \"\')\"
        Set rs = myConn.Execute(strSQL)
        response.write \"Brugeren er tilf&oslash;jet\"
    else
        %>
        <!-- Tilmeld formen -->
        <form action=\"do.asp\" method=\"POST\">
        Skriv venligst dit brugernavn<br><input type=\"Text\" name=\"bruger\" size=\"30\"><br>
        Skriv venligst dit password<br><input type=\"Text\" name=\"pass\"size=\"30\"><br>
        <input type=\"Submit\" value=\"Opret dig på listen\">
        </form>
        <%
    end if
end if       
           
%>




</body>
</html>


<%sub frameld %>
    <!-- Frameld formen -->
    <form action=\"do.asp\" method=\"POST\">
    Indtast din email<br><input type=\"Text\" name=\"email\" size=\"20\"><br>   
    <input type=\"Hidden\" name=\"mode\" value=\"frameld\">
    <input type=\"Submit\" value=\"Frameld dig mailing listen\">
    </form>
<%end sub %>
Avatar billede gatez Nybegynder
19. juni 2001 - 13:32 #5
Det ligger på min egen server så ja jeg har adgang til at skrive i databasen det er opsat.
Avatar billede hirtshals Nybegynder
19. juni 2001 - 13:33 #6
Hvis du har mod på at lave det selv:

http://www.viewsource.dk/aspcat.asp?ident=2

\"Skoleeksempler\"

Dbnewrecord
Dbshowrecord
Dbeditrecord
Dbdeleterecord
Avatar billede gatez Nybegynder
19. juni 2001 - 13:33 #7
--> seider

Vil du hjælpe ?
Avatar billede gatez Nybegynder
19. juni 2001 - 13:35 #8
--> hirtshals

Jeg er nok ikke god nok til selv at lave det tror jeg ikke....
Avatar billede seider Nybegynder
19. juni 2001 - 13:39 #9
kalrt skal lige se lidt på din kode 2 sec.
Avatar billede seider Nybegynder
19. juni 2001 - 13:41 #10
strSQL = \"SELECT * FROM pass WHERE ID = \" & aItem2 & \"\"

skal være           

strSQL = \"DELETE * FROM pass WHERE ID = \" & aItem2 & \"\"

nå ja ok det er en dirty måde at gøre det på da den sletter alle med det id *S*

Avatar billede gatez Nybegynder
19. juni 2001 - 13:43 #11
Der er ikke ID i databasen.... Skal der være det ?
Avatar billede seider Nybegynder
19. juni 2001 - 13:44 #12
ellers burde det være ok sådan lige ved en hurtig gennemgang *S*
Avatar billede seider Nybegynder
19. juni 2001 - 13:45 #13
ja for ellers kan du jo ikke slette dem med ID =
Avatar billede gatez Nybegynder
19. juni 2001 - 13:47 #14
Prøv lige hurtigt at se et andet script:
http://betabot.dk/kundelogin/admin2/Editrecord.asp

Når jeg prøver at slette virker det heller ikke. Det skulle det ellers gøre.
Avatar billede gatez Nybegynder
19. juni 2001 - 13:50 #15
Okay men tak for hjælpen
Avatar billede seider Nybegynder
19. juni 2001 - 13:54 #16
ok der kommer en server side fejl når jeg opdatere. hvis det er din egen server skal du lige sikre at den viser komplet error message (og hvis du ikke får andet end en server500 fejl selv tjek din browser for samme).

det er som regel en syntaks fejl i dit ASP script eller noget der ikke er afslutte select ... end select <-> if .. then .. else .. end if

www.fotx.net/seider
Avatar billede gatez Nybegynder
19. juni 2001 - 13:56 #17
Okay.... Jeg får også den fejl...

Jeg finder nok ud af det :)

Tak for hjælpen !
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