asp/vbscript学习笔记

addbook.asp

<%
    if request.cookies("user")="" then
        Response.Redirect("login.asp")
    end if
    if request.cookies("power")="1" then
        Response.Redirect("forbidden.asp")
    end if
%>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>addbook</title>
    </head>
    <body>
        <a href="/register.asp">register</a>
        <a href="/login.asp">login</a>
        <a href="/changepsw.asp">changepsw</a>
        <a href="/index.asp">index</a>
        <a href="/checkbook.asp">checkbook</a>
        <a href="/borrowbook.asp">borrowbook</a>
        <a href="/returnbook.asp">returnbook</a>
        <a href="/addbook.asp">addbook</a>
        <a href="/subbook.asp">subbook</a>
        <a href="/checkreader.asp">checkreader</a>
        <hr/>
        <%
            response.write("addbook!")
        %>
        <form action="addbook.asp" method="post">
            b_code<input type="text" name="b_code" size="20" placeholder="the book's code  "/><br/>
            b_name<input type="text" name="b_name" size="20" placeholder="the book's name "/><br/>
            b_author<input type="text" name="b_author" size="20" placeholder="the book's author "/><br/>
            b_publish<input type="text" name="b_publish" size="20" placeholder="the book's publishment"/><br/>
            <input type="submit" value="addbook_submit" /><br/>
        </form>
        <%
            dim new_b_code,new_b_name,new_b_author,new_b_publish,new_b_lend,new_b_reader,new_b_time,sql
            new_b_code=Request.Form("b_code")
            new_b_name=Request.Form("b_name")
            new_b_author=Request.Form("b_author")
            new_b_publish=Request.Form("b_publish")
            new_b_lend="null"
            new_b_reader="null"
            new_b_time="null"

            if new_b_code<>"" and new_b_name<>"" and new_b_author<>"" and new_b_publish<>"" then

                set conne=Server.CreateObject("ADODB.Connection")
                conne.Provider="Microsoft.Jet.OLEDB.4.0"
                conne.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"

                sql="SELECT COUNT(*) AS ct FROM books_table WHERE b_code='" & new_b_code & "'"
                set rs = server.createobject("adodb.recordset")
                rs.open sql,conne

                if rs("ct")=1 then
                    response.write("ERROR: This book_code has existed .")

                else
                    set conn=Server.CreateObject("ADODB.Connection")
                    conn.Provider="Microsoft.Jet.OLEDB.4.0"
                    conn.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
                    sql="INSERT INTO books_table(b_code,b_name,b_author,b_publish,b_lend,b_reader,b_time) VALUES "
                    sql=sql & "('" & new_b_code & "',"
                    sql=sql & "'" & new_b_name & "',"
                    sql=sql & "'" & new_b_author & "',"
                    sql=sql & "'" & new_b_publish & "',"
                    sql=sql & "'" & new_b_time & "',"
                    sql=sql & "'" & new_b_reader & "',"
                    sql=sql & "'" & new_b_time & "')"

                    Conn.execute sql
                    Conn.close
                    Set Conn = Nothing
                end if

                rs.close
                conne.close
                set rs = nothing
                set conne = nothing
            end if

        %>
    </body>
</html>

borrowbook.asp

<%
    if request.cookies("user")="" then
        Response.Redirect("login.asp")
    end if
%>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>borrowbook</title>
    </head>
    <body>
        <a href="/register.asp">register</a>
        <a href="/login.asp">login</a>
        <a href="/changepsw.asp">changepsw</a>
        <a href="/index.asp">index</a>
        <a href="/checkbook.asp">checkbook</a>
        <a href="/borrowbook.asp">borrowbook</a>
        <a href="/returnbook.asp">returnbook</a>
        <a href="/addbook.asp">addbook</a>
        <a href="/subbook.asp">subbook</a>
        <a href="/checkreader.asp">checkreader</a>
        <hr/>
        <%
            response.write("borrowbook!")
        %>
        <form action="borrowbook.asp" method="post">
            borrow_book<input type="text" name="borrow_book" size="20" placeholder="the book's code "/><br/>
            <input type="submit" value="borrowbook_submit" /><br/>
        </form>
        <%
            dim borrow_user,borrow_book,borrow_time,sql
            borrow_user=request.cookies("user")
            borrow_book=Request.Form("borrow_book")
            borrow_time=now()

            if borrow_book<>"" then

                set conne=Server.CreateObject("ADODB.Connection")
                conne.Provider="Microsoft.Jet.OLEDB.4.0"
                conne.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"

                sql="SELECT b_lend FROM books_table WHERE b_code='" & borrow_book & "'"
                set rs = server.createobject("adodb.recordset")
                rs.open sql,conne

                sql2="SELECT r_book FROM readers_table WHERE r_code='" & request.cookies("user") & "'"
                set rs2 = server.createobject("adodb.recordset")
                rs2.open sql2,conne

                if rs("b_lend")="yes" or rs2("r_book")<>"null" then
                    response.write("ERROR: This book has been lent or you has kept another book .")
                else
                    set conn=Server.CreateObject("ADODB.Connection")
                    conn.Provider="Microsoft.Jet.OLEDB.4.0"
                    conn.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"

                    sql="UPDATE books_table SET "
                    sql=sql & "b_lend='" & "yes" & "',"
                    sql=sql & "b_reader='" & borrow_user & "',"
                    sql=sql & "b_time='" & borrow_time & "'"
                    sql=sql & " where b_code='" & borrow_book & "'"

                    Conn.execute sql

                    sql="UPDATE readers_table SET "
                    sql=sql & "r_book='" & borrow_book & "',"
                    sql=sql & "r_time='" & borrow_time & "'"
                    sql=sql & " where r_code='" & borrow_user & "'"

                    Conn.execute sql

                    Conn.close
                    Set Conn = Nothing
                end if

                rs.close
                conne.close
                set rs = nothing
                set conne = nothing
            end if



        %>
    </body>
</html>

changepsw.asp

<%
    if request.cookies("user")="" then
        Response.Redirect("login.asp")
    end if
%>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>changepsw</title>
    </head>
    <body>
        <a href="/register.asp">register</a>
        <a href="/login.asp">login</a>
        <a href="/changepsw.asp">changepsw</a>
        <a href="/index.asp">index</a>
        <a href="/checkbook.asp">checkbook</a>
        <a href="/borrowbook.asp">borrowbook</a>
        <a href="/returnbook.asp">returnbook</a>
        <a href="/addbook.asp">addbook</a>
        <a href="/subbook.asp">subbook</a>
        <a href="/checkreader.asp">checkreader</a>
        <hr/>
        <%
            response.write("changepsw!")
        %>
        <form action="changepsw.asp" method="post">
            new_psw<input type="text" name="new_psw1" size="20" placeholder="new password"/><br/>
            new_psw<input type="text" name="new_psw2" size="20" placeholder="repeat please"/><br/>
            <input type="submit" value="changepsw_submit" /><br/>
        </form>
        Tips: You can goto the index page to check whether your password changed.<br/>
        <%
            dim old_psw,new_psw1,new_psw2,sql
            new_psw1=Request.Form("new_psw1")
            new_psw2=Request.Form("new_psw2")

            if new_psw1<>"" and new_psw1=new_psw2 then
                set conn=Server.CreateObject("ADODB.Connection")
                conn.Provider="Microsoft.Jet.OLEDB.4.0"
                conn.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"

                sql="UPDATE readers_table SET "
                sql=sql & "r_pwd='" & new_psw2 & "'"
                sql=sql & " where r_code='" & request.cookies("user") & "'"

                Conn.execute sql

                Conn.close
                Set Conn = Nothing
            end if
        %>
    </body>
</html>

checkbook.asp

<%
    if request.cookies("user")="" then
        Response.Redirect("login.asp")
    end if
%>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>checkbook</title>
    </head>
    <body>
        <a href="/register.asp">register</a>
        <a href="/login.asp">login</a>
        <a href="/changepsw.asp">changepsw</a>
        <a href="/index.asp">index</a>
        <a href="/checkbook.asp">checkbook</a>
        <a href="/borrowbook.asp">borrowbook</a>
        <a href="/returnbook.asp">returnbook</a>
        <a href="/addbook.asp">addbook</a>
        <a href="/subbook.asp">subbook</a>
        <a href="/checkreader.asp">checkreader</a>
        <hr/>
        <%
            response.write("checkbook!")
        %>
        <form action="checkbook.asp" method="post">
            checkbook<input type="text" name="checkbook" size="20" placeholder="the book's name"/><br/>
            <input type="submit" value="checkbook_submit"/><br/>
        </form>
        <%
            dim checkbook
            checkbook=Request.Form("checkbook")

            set conn=Server.CreateObject("ADODB.Connection")
            conn.Provider="Microsoft.Jet.OLEDB.4.0"
            conn.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
            set rs=Server.CreateObject("ADODB.recordset")
            SQL="SELECT * FROM books_table WHERE b_name LIKE '%" & checkbook & "%' or b_code LIKE '%" & checkbook & "%'"
            rs.Open SQL, conn
        %>
        <table border="1" width="100%">
            <tr>
                <%for each x in rs.Fields
                    response.write("<th>" & x.name & "</th>")
                next%>
            </tr>
            <%do until rs.EOF%>
                <tr>
                    <%for each x in rs.Fields%>
                        <td><%Response.Write(x.value)%></td>
                    <%next
                    rs.MoveNext%>
                </tr>
            <%loop
            rs.close
            conn.close%>
        </table>
    </body>
</html>

checkreader.asp

<%
    if request.cookies("user")="" then
        Response.Redirect("login.asp")
    end if
    if request.cookies("power")="1" then
        Response.Redirect("forbidden.asp")
    end if
%>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>checkreader</title>
    </head>
    <body>
        <a href="/register.asp">register</a>
        <a href="/login.asp">login</a>
        <a href="/changepsw.asp">changepsw</a>
        <a href="/index.asp">index</a>
        <a href="/checkbook.asp">checkbook</a>
        <a href="/borrowbook.asp">borrowbook</a>
        <a href="/returnbook.asp">returnbook</a>
        <a href="/addbook.asp">addbook</a>
        <a href="/subbook.asp">subbook</a>
        <a href="/checkreader.asp">checkreader</a>
        <hr/>
        <%
            response.write("checkreader!")
        %>
        <form action="checkreader.asp" method="post">
            checkreader<input type="text" name="checkreader" size="20" placeholder="the user's code or name "/><br/>
            <input type="submit" value="checkreader_submit" /><br/>
        </form>
        <%
            dim checkreader
            checkreader=Request.Form("checkreader")

            set conn=Server.CreateObject("ADODB.Connection")
            conn.Provider="Microsoft.Jet.OLEDB.4.0"
            conn.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
            set rs=Server.CreateObject("ADODB.recordset")
            SQL="SELECT * FROM readers_table WHERE r_name LIKE '%" & checkreader & "%' or r_code LIKE '%" & checkreader & "%'"
            rs.Open SQL, conn
        %>

        <table border="1" width="100%">
            <tr>
                <%for each x in rs.Fields
                    response.write("<th>" & x.name & "</th>")
                next%>
            </tr>
            <%do until rs.EOF%>
                <tr>
                    <%for each x in rs.Fields%>
                        <td><%Response.Write(x.value)%></td>
                    <%next
                    rs.MoveNext%>
                </tr>
            <%loop
            rs.close
            conn.close%>
        </table>
    </body>
</html>

forbidden.asp

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>forbidden</title>
    </head>
    <body>
        <a href="/register.asp">register</a>
        <a href="/login.asp">login</a>
        <a href="/changepsw.asp">changepsw</a>
        <a href="/index.asp">index</a>
        <a href="/checkbook.asp">checkbook</a>
        <a href="/borrowbook.asp">borrowbook</a>
        <a href="/returnbook.asp">returnbook</a>
        <a href="/addbook.asp">addbook</a>
        <a href="/subbook.asp">subbook</a>
        <a href="/checkreader.asp">checkreader</a>
        <hr/>
        <%
            response.write("forbidden!")
        %>
        <br/>
        <%
            response.write("You don't have the power, connect to the administrator please!")
        %>

        <%
            Dim re
            Set re = New RegExp
            re.Pattern = "[0-9]{10}"
            'response.write(re.Test("3116000339")="True")
            'response.write(re.Test("2070276066")="True")
            'response.write(re.Test("111111111")="True")
            Dim re2
            Set re2 = New RegExp
            re2.Pattern = "(fe)?male"
            'response.write(re2.Test("male")="True")
            'response.write(re2.Test("female")="True")
            'response.write(re2.Test("sex")="True")
        %>
    </body>
</html>

index.asp

<%
    if request.cookies("user")="" then
        Response.Redirect("login.asp")
    end if
%>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>index</title>
    </head>
    <body>
        <a href="/register.asp">register</a>
        <a href="/login.asp">login</a>
        <a href="/changepsw.asp">changepsw</a>
        <a href="/index.asp">index</a>
        <a href="/checkbook.asp">checkbook</a>
        <a href="/borrowbook.asp">borrowbook</a>
        <a href="/returnbook.asp">returnbook</a>
        <a href="/addbook.asp">addbook</a>
        <a href="/subbook.asp">subbook</a>
        <a href="/checkreader.asp">checkreader</a>
        <hr/>
        <%
            response.write("index!")
        %>
        <%
            set conn=Server.CreateObject("ADODB.Connection")
            conn.Provider="Microsoft.Jet.OLEDB.4.0"
            conn.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
            set rs=Server.CreateObject("ADODB.recordset")
            rs.Open "SELECT * FROM readers_table where r_code = " & "'" & request.cookies("user") & "'", conn
        %>
        <table border="1" width="100%">
            <tr>
                <%for each x in rs.Fields
                    response.write("<th>" & x.name & "</th>")
                next%>
            </tr>
            <%do until rs.EOF%>
                <tr>
                    <%for each x in rs.Fields%>
                        <td><%Response.Write(x.value)%></td>
                    <%next
                    rs.MoveNext%>
                </tr>
            <%loop
            rs.close
            conn.close%>
        </table>
    </body>
</html>

login.asp

<%
    dim login_usr,login_pwd,success_or_loss
    login_usr=Request.Form("login_usr")
    login_pwd=Request.Form("login_pwd")
    if login_usr="" then
        response.cookies("user")=""
        response.cookies("power")=""
    else
        set conne=Server.CreateObject("ADODB.Connection")
        conne.Provider="Microsoft.Jet.OLEDB.4.0"
        conne.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"

        sql="SELECT COUNT(*) AS ct FROM readers_table WHERE r_code='" & login_usr & "' AND r_pwd='" & login_pwd & "'"
        set rs = server.createobject("adodb.recordset")
        rs.open sql,conne

        if rs("ct")<>1 then
            success_or_loss="ERROR: The username can't match the password."
        else
            success_or_loss="success"
            response.cookies("user")=login_usr
            sql2="SELECT r_power FROM readers_table WHERE r_code='" & login_usr & "' AND r_pwd='" & login_pwd & "'"
            set rs2 = server.createobject("adodb.recordset")
            rs2.open sql2,conne
            response.cookies("power")=rs2("r_power")
            rs2.close
            set rs2 = nothing
        end if
        rs.close
        conne.close
        set rs = nothing
        set conne = nothing
    end if
%>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>login</title>
    </head>
    <body>
        <a href="/register.asp">register</a>
        <a href="/login.asp">login</a>
        <a href="/changepsw.asp">changepsw</a>
        <a href="/index.asp">index</a>
        <a href="/checkbook.asp">checkbook</a>
        <a href="/borrowbook.asp">borrowbook</a>
        <a href="/returnbook.asp">returnbook</a>
        <a href="/addbook.asp">addbook</a>
        <a href="/subbook.asp">subbook</a>
        <a href="/checkreader.asp">checkreader</a>
        <hr/>
        <%
            response.write("login!")
        %>
        <form action="login.asp" method="post">
            login_usr<input type="text" name="login_usr" size="30" placeholder="your code"/><br/>
            login_pwd<input type="text" name="login_pwd" size="30" placeholder="your password"/><br/>
            <input type="submit" value="login_submit" /><br/>
        </form>
        <%
            response.write(success_or_loss)
        %>
        <br/>
        Tips: When the login_usr is empty, you can logout by clicking the "login_submit" button.
    </body>
</html>

register.asp

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>register</title>
    </head>
    <body>
        <a href="/register.asp">register</a>
        <a href="/login.asp">login</a>
        <a href="/changepsw.asp">changepsw</a>
        <a href="/index.asp">index</a>
        <a href="/checkbook.asp">checkbook</a>
        <a href="/borrowbook.asp">borrowbook</a>
        <a href="/returnbook.asp">returnbook</a>
        <a href="/addbook.asp">addbook</a>
        <a href="/subbook.asp">subbook</a>
        <a href="/checkreader.asp">checkreader</a>
        <hr/>
        <%
            response.write("register!")
        %>
        <form action="register.asp" method="post">
            r_code<input type="text" name="r_code" size="20" placeholder="code can't be less than 10 characters"/><br/>
            r_name<input type="text" name="r_name" size="20" placeholder="your username"/><br/>
            r_sex<input type="text" name="r_sex" size="20" placeholder="your sex ( female or male )"/><br/>
            r_pwd<input type="text" name="r_pwd" size="20" placeholder="your password"/><br/>
            <input type="submit" value="register_submit"/><br/>
        </form>
        <%
            dim new_r_code,new_r_name,new_r_sex,new_r_pwd,sql
            new_r_code=Request.Form("r_code")
            new_r_name=Request.Form("r_name")
            new_r_sex=Request.Form("r_sex")
            new_r_pwd=Request.Form("r_pwd")
            new_r_power="1"
            new_r_book="null"
            new_r_time="null"

            if new_r_code<>"" and new_r_name<>"" and new_r_sex<>"" and new_r_pwd<>"" then

                set conne=Server.CreateObject("ADODB.Connection")
                conne.Provider="Microsoft.Jet.OLEDB.4.0"
                conne.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"

                sql="SELECT COUNT(*) AS ct FROM readers_table WHERE r_code='" & new_r_code & "'"

                set rs = server.createobject("adodb.recordset")
                rs.open sql,conne

                Dim re
                Set re = New RegExp
                re.Pattern = "[0-9]{10}"
                Dim re2
                Set re2 = New RegExp
                re2.Pattern = "(fe)?male"

                if rs("ct")=0 and re.Test(new_r_code)="True" and re2.Test(new_r_sex)="True" then
                    set conn=Server.CreateObject("ADODB.Connection")
                    conn.Provider="Microsoft.Jet.OLEDB.4.0"
                    conn.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"

                    sql="INSERT INTO readers_table(r_code,r_name,r_sex,r_pwd,r_power,r_book,r_time) VALUES "
                    sql=sql & "('" & new_r_code & "',"
                    sql=sql & "'" & new_r_name & "',"
                    sql=sql & "'" & new_r_sex & "',"
                    sql=sql & "'" & new_r_pwd & "',"
                    sql=sql & "'" & new_r_power & "',"
                    sql=sql & "'" & new_r_book & "',"
                    sql=sql & "'" & new_r_time & "')"

                    Conn.execute sql
                    Conn.close
                    Set Conn = Nothing

                    response.write("success")
                else
                    response.write("ERROR: The code has existed or the code is less than 10 characters or the sex is not male or female.")
                end if

                rs.close
                conne.close
                set rs = nothing
                set conne = nothing
            end if

        %>

    </body>
</html>

returnbook.asp

<%
    if request.cookies("user")="" then
        Response.Redirect("login.asp")
    end if
    if request.cookies("power")="1" then
        Response.Redirect("forbidden.asp")
    end if
%>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>returnbook</title>
    </head>
    <body>
        <a href="/register.asp">register</a>
        <a href="/login.asp">login</a>
        <a href="/changepsw.asp">changepsw</a>
        <a href="/index.asp">index</a>
        <a href="/checkbook.asp">checkbook</a>
        <a href="/borrowbook.asp">borrowbook</a>
        <a href="/returnbook.asp">returnbook</a>
        <a href="/addbook.asp">addbook</a>
        <a href="/subbook.asp">subbook</a>
        <a href="/checkreader.asp">checkreader</a>
        <hr/>
        <%
            response.write("returnbook!")
        %>
        <form action="returnbook.asp" method="post">
            return_user<input type="text" name="return_user" size="20" placeholder="the user's code "/><br/>
            return_book<input type="text" name="return_book" size="20" placeholder="the book's code  "/><br/>
            <input type="submit" value="returnbook_submit" /><br/>
        </form>
        <%
            dim return_user,return_book,return_time,sql
            return_user=Request.Form("return_user")
            return_book=Request.Form("return_book")
            return_time=now()

            if return_user<>"" and return_book<>"" then

                set conne=Server.CreateObject("ADODB.Connection")
                conne.Provider="Microsoft.Jet.OLEDB.4.0"
                conne.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"

                sql="SELECT b_lend FROM books_table WHERE b_code='" & return_book & "'"
                set rs = server.createobject("adodb.recordset")
                rs.open sql,conne

                sql2="SELECT r_book FROM readers_table WHERE r_code='" & return_user & "'"
                set rs2 = server.createobject("adodb.recordset")
                rs2.open sql2,conne

                if rs("b_lend")="no" or rs2("r_book")<>return_book then
                    response.write("ERROR: This book hasn't been lent or you hasn't borrowed this book .")

                else
                    set conn=Server.CreateObject("ADODB.Connection")
                    conn.Provider="Microsoft.Jet.OLEDB.4.0"
                    conn.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"

                    sql="UPDATE books_table SET "
                    sql=sql & "b_lend='" & "no" & "',"
                    sql=sql & "b_reader='" & "null" & "',"
                    sql=sql & "b_time='" & "null" & "'"
                    sql=sql & " where b_code='" & return_book & "'"

                    Conn.execute sql

                    sql="UPDATE readers_table SET "
                    sql=sql & "r_book='" & "null" & "',"
                    sql=sql & "r_time='" & "null" & "'"
                    sql=sql & " where r_code='" & return_user & "'"

                    Conn.execute sql

                    Conn.close
                    Set Conn = Nothing
                end if

                rs.close
                conne.close
                set rs = nothing
                set conne = nothing
            end if

        %>
    </body>
</html>

subbook.asp

<%
    if request.cookies("user")="" then
        Response.Redirect("login.asp")
    end if
    if request.cookies("power")="1" then
        Response.Redirect("forbidden.asp")
    end if
%>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>subbook</title>
    </head>
    <body>
        <a href="/register.asp">register</a>
        <a href="/login.asp">login</a>
        <a href="/changepsw.asp">changepsw</a>
        <a href="/index.asp">index</a>
        <a href="/checkbook.asp">checkbook</a>
        <a href="/borrowbook.asp">borrowbook</a>
        <a href="/returnbook.asp">returnbook</a>
        <a href="/addbook.asp">addbook</a>
        <a href="/subbook.asp">subbook</a>
        <a href="/checkreader.asp">checkreader</a>
        <hr/>
        <%
            response.write("subbook!")
        %>
        <form action="subbook.asp" method="post">
            b_code<input type="text" name="b_code" size="20" placeholder="the book's code "/><br/>
            <input type="submit" value="subbook_submit" /><br/>
        </form>
        <%
            dim new_b_code,sql
            new_b_code=Request.Form("b_code")

            if new_b_code<>"" then

                set conne=Server.CreateObject("ADODB.Connection")
                conne.Provider="Microsoft.Jet.OLEDB.4.0"
                conne.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"

                sql="SELECT COUNT(*) AS ct FROM books_table WHERE b_code='" & new_b_code & "'"
                set rs = server.createobject("adodb.recordset")
                rs.open sql,conne

                if rs("ct")=0 then
                    response.write("ERROR: This book_code hasn't existed .")

                else
                    set conn=Server.CreateObject("ADODB.Connection")
                    conn.Provider="Microsoft.Jet.OLEDB.4.0"
                    conn.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
                    sql="delete from books_table where b_code=" & "'" & new_b_code & "'"

                    Conn.execute sql
                    Conn.close
                    Set Conn = Nothing
                end if

                rs.close
                conne.close
                set rs = nothing
                set conne = nothing
            end if

        %>
    </body>
</html>

readme.txt

数据库设计:2个
用户表(全部非空):学号(唯一)+姓名+性别+密码+权限(2是管理员1是普通用户)+正借阅书号+借出时间
图书表(全部非空):书号(唯一)+书名+作者+出版社+借出状态+借出学号+借出时间

页面设计:10个页面(全都在页顶导航栏有超链接,网页入口是登陆页面)

注册页面:
    显示页面:表单内容(学号+姓名+性别+密码……提交按钮)
    提交按钮点击后,查询用户表,学号已存在或学号小于10位或别不是male与female则报错,否则往用户表增加一个条目
登陆页面:
    显示页面:表单内容(学号+密码……提交按钮)
    提交按钮点击后,查用户表看学号密码,查找失败则报错,正确则生成两个cookie,一个是用户ID,一个是用户权限
密码页面:
    获得cookie查得到学号(否则跳到登陆页)
    显示页面:表单内容(新密码,新密码确认……提交按钮)
    提交按钮点击后,判断两个新密码是否一致,符合则更新用户表中的条目
个人信息:
    获得cookie查得到学号(否则跳到登陆页),查用户表得到用户信息
    显示页面,text信息内容(学号+姓名+性别+密码+权限+正借阅书号+借出时间)
书名查询:
    获得cookie查得到学号(否则跳到登陆页)
    显示页面,表单内容(书名……提交按钮)
    提交按钮点击后,按书名或书号查图书表,显示下面text信息内容((书号+书名+作者+出版社+借出状态+借出学号+借出时间)每行一个)
借书页面:
    获得cookie查得到学号(否则跳到登陆页)
    显示页面,表单内容(学号,书号……提交按钮)
    提交按钮点击后,判断图书借出状态或用户是否已有借书,若书已借出或用户已有借书则显示失败,未借出则更新用户表与图书表
还书页面:
    获得cookie查得到学号(否则跳到登陆页)
    根据学号查用户表权限,非管理员时显示无权限(可以理解为必须要老师处办理还书)
    表单内容(学号,书号……提交按钮)
    提交按钮点击后,查书号的借出状态及用户借书状态,若书未被借出或用户未借书则报错,已借出则更新用户表与图书表(相关条目置null)
加书页面:
    获得cookie查得到学号(否则跳到登陆页)
    根据学号查用户表权限,非管理员时显示无权限
    表单内容(书号+书名+作者+出版社……提交按钮)
    提交按钮点击后,查图书表书号是否存在,已存在就报错,不存在就往图书表增加一个条目
减书页面:
    获得cookie查得到学号(否则跳到登陆页)
    根据学号查用户表权限,非管理员时显示无权限
    表单内容(书号……提交按钮)
    提交按钮点击后,按书号查图书表,查不到就报错,找到就减少图书表一个条目
学号查询:
    获得cookie查得到学号(否则跳到登陆页)
    根据学号查用户表权限,非管理员时显示无权限
    表单内容(学号……提交按钮)
    提交按钮点击后,按学号或用户名查用户表,查不到就弹窗报错,找到就显示下面text信息内容((书号+书名+作者+出版社+借出状态+借出学号+借出时间)每行一个)

文件部署:
11个asp文件(每页1个)
1个mdb数据库文件
1个txt说明文件(本文件)
关于web.config与.idea应该是我本地部署时产生的文件,可以不理会,但为保持工程完整性,我一起打包了

使用说明:
数据库地址我用了绝对地址,我的本地开发路径是D:\project\ProjectWeb\web_server\library_project,如果你不是这个路径需要手动修改源码

book_manager.mdb

readers_table
ID r_code r_name r_sex r_pwd r_power r_book r_time
1 13579 test male abc 1 IT001 2020/12/28 15:35:20
2 24680 admin female def 2 null null
books_table
ID b_code b_name b_author b_publish b_lend b_reader b_time
1 IT001 C++ YKQ AAA yes 3116000339 2020/12/28 15:35:20
2 IT002 JAVA YKQ BBB no null null
3 IT003 PYTHON YKQ CCC no null null
11 IT004 JavaScript YKQ DDD no null null
12 IT005 Mysql YKQ EEE no null null
13 PH001 huawei YKQ FFF no null null
14 PH002 xiaomi YKQ GGG no null null
15 PH003 OPPO YKQ HHH no null null
16 PH004 VIVO YKQ III no null null
17 PH005 Apple YKQ JJJ no null null
23 WK001 baidu YKQ KKK no null null
24 WK002 tencent YKQ LLL no null null
25 WK003 alibaba YKQ MMM no null null
26 WK004 huaiwei YKQ NNN no null null
27 WK005 bytedance YKQ OOO no null null

猜你喜欢

转载自blog.csdn.net/cj1064789374/article/details/113428593