<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      使用ASP的文件設置完成用戶管理

      [摘要]簡單、好用、開發效率高等等是ASP的優點,但是其系統操作方面如文件操作等則 是比較微弱的。要想實現這方面的功能,只有采取調用組件的辦法。FileSystemObject對象就是一個例子。ASP安裝后...
          簡單、好用、開發效率高等等是ASP的優點,但是其系統操作方面如文件操作等則 是比較微弱的。要想實現這方面的功能,只有采取調用組件的辦法。
      FileSystemObject對象就是一個例子。ASP安裝后,該對象就在系統中注冊了。
      不過其功能也非常一般,只能操作文本類型的文件。不過也可以滿足我們的一些
      需要了。前幾天我的一個同事的一個朋友在網上申請了一個支持ASP的空間,想
      實現諸如用戶注冊、信息修改、用戶注銷等功能,又不想用數據庫來實現,因為
      要進行一大堆的設置。其實利用FileSystemObject操作文本文件就可以實現。
          實現的思路是:為每項信息建立一個文本文件,如姓名、性別、年齡等。所
      有用戶的同一個信息項都保存在相對應的文件中。如每個用戶的姓名信息都保存
      在姓名文件中。并且每個用戶的信息都以特殊的標志開始和結束,讀取信息時就
      根據這些標志進行定位。例如開始標志用“`用戶名`” ,結束標志用“`e`”。
      只要不是常用的字符串,就可以作為定位的標志。另外,還有兩個文件是必不可
      少的:那就是用戶名、密碼文件。判斷用戶是否存在、用戶登陸等就是利用這兩
      個文件實現的。下面介紹的就是本人的具體實現代碼。
          在程序編寫前我先搞了搞了一個公共的函數單元fun.inc,這里面是一些比較
      通用的函數,供其它的ASP文件包含并調用。
          首先是些用戶信息的函數,包括用戶名、文件名、用戶信息三個參數,都是
      字符串類型,其中用戶信息還可以是多行。代碼如下:

      Sub WriteUser(UserName,FileName,UserInfo)
        Dim fs, f
        Set fs = CreateObject("Scripting.FileSystemObject")
        If fs.FileExists(FileName) = False Then
          fs.CreateTextFile (FileName)
        End If
        '以添加方式打開文件
        Set f = fs.OpenTextFile(FileName, 8)
        '用戶信息開始標志
        f.WriteLine ("`" & UserName & "`")
        f.WriteLine (UserInfo)
        '用戶信息結束標志
        f.WriteLine ("`e`")
        
        f.Close
        Set f = Nothing
        Set fs = Nothing
      End Sub

          讀用戶信息的函數只需要兩個參數:用戶名和文件名,用戶的信息作為函數
      的返回值,實現的思路就是尋找開始、結束標志,并把它們之間的信息返回。代
      碼如下:

      Function ReadUser(UserName,FileName)
        Dim i
        Dim s
        Dim ret
        Dim fs, f
        
        Set fs = CreateObject("Scripting.FileSystemObject")
        if fs.FileExists(FileName)=false then
          Set fs=Nothing
          ReadUser=""
          Exit Function
        end if 
        '以只讀方式打開文件
        Set f = fs.OpenTextFile(FileName, 1)
        
        Do While f.AtEndOfStream <> True
          s = f.ReadLine
          If s = "`" & UserName & "`" Then
            s = f.ReadLine
            ret=""
            Do While s <> "`e`"
              if ret="" then
                ret = ret + s
              else 
                ret = ret + Chr(13) & Chr(10)+s
              end if
              s = f.ReadLine
            Loop
            Exit Do
          End If
        Loop
        
        f.Close
        Set f = Nothing
        Set fs = Nothing
        ReadUser = ret
      End Function

          下面是刪除用戶信息的函數,同樣包括用戶名和文件名兩個參數。程序逐行
      讀取對應文件,如果其它用戶的信息,則保存在一個字符串變量中,否則不進行
      保存,然后用變量的內容重寫該文件。代碼如下:

      Sub DeleteUser(UserName,FileName)
        Dim i
        Dim s
        Dim tmp
        Dim fs, f
        
        Set fs = CreateObject("Scripting.FileSystemObject")
        if fs.FileExists(FileName)=false then
          Set fs=Nothing
          Exit Sub
        end if 
        Set f = fs.OpenTextFile(FileName, 1)
        tmp=""
        Do While f.AtEndOfStream <> True
          s = f.ReadLine
          If s <> "`" & UserName & "`" Then
            if tmp="" then
              tmp = tmp + s
            else
              tmp = tmp + Chr(13) & Chr(10)+ s 
            end if
          Else
            Do While s <> "`e`"
              s = f.ReadLine
            Loop
          End If
        Loop
        
        f.Close
        Set f = fs.CreateTextFile(FileName, True)
        f.WriteLine tmp
        
        f.Close
        Set f = Nothing
        Set fs = Nothing
      End Sub

          修改用戶信息函數和寫用戶信息函數一樣,帶有用戶名、文件名、用戶信息
      三個參數,只不過該函數的用戶信息是更新后的信息。程序的實現和刪除用戶的
      過程差不多,刪除用戶不保存要刪除用戶的信息到變量,修改用戶則把更新后信
      息保存到變量中代替原來的信息。代碼如下:

      Sub ModifyUser(UserName,FileName,NewUserInfo)
        Dim i
        Dim s
        Dim tmp
        Dim fs, f
        
        Set fs = CreateObject("Scripting.FileSystemObject")
        if fs.FileExists(FileName)=false then
          Set fs=Nothing
          Exit Sub
        end if 
        Set f = fs.OpenTextFile(FileName, 1)
        tmp=""
        Do While f.AtEndOfStream <> True
          s = f.ReadLine
          If s <> "`" & UserName & "`" Then
            if tmp="" then
              tmp = tmp + s
            else
              tmp = tmp + Chr(13) & Chr(10)+ s 
            end if
          Else
            Do While s <> "`e`"
              s = f.ReadLine
            Loop
            if tmp="" then
              tmp = tmp + "`" & UserName & "`"
            else
              tmp = tmp  + Chr(13) & Chr(10)+ "`" & UserName & "`"
            end if
            tmp = tmp  + Chr(13) & Chr(10)+ NewUserInfo
            tmp = tmp + Chr(13) & Chr(10) + "`e`"
          End If
        Loop
        
        f.Close
        Set f = fs.CreateTextFile(FileName, True)
        f.WriteLine tmp
        
        f.Close
        Set f = Nothing
        Set fs = Nothing
      End Sub

          還有一個函數是用來判斷用戶是否存在,通過在保存用戶名的文件中進行定
      位來實現,代碼如下:

      Function UserExist(UserName,FileName)
        Dim fs, f

        Set fs = CreateObject("Scripting.FileSystemObject")
        if fs.FileExists(FileName)=False then
          Set fs=Nothing
          UserExist=False
          Exit Function
        end if 
        Set f = fs.OpenTextFile(FileName, 1)
        
        Do While f.AtEndOfStream <> True
          s = f.ReadLine
          If s = "`" & UserName & "`" Then
            UserExist = True
            Exit Function
          End If
        Loop
        
        f.Close
        Set f = Nothing
        Set fs = Nothing
        
        UserExist = False
      End Function

          下面就是一些文件的完整代碼,演示如何通過調用上面的函數來實現基
      本的用戶管理:用戶注冊、用戶登陸、用戶修改、用戶刪除。僅供參考。程
      序在Win2000 Professional+IIS調試通過。注意,文本文件都保存在當前目
      錄的子目錄“txt”下,如果沒有此目錄,請手工建立,程序實現略。

      '*********************fun.inc***************************************
      <%
      dim UserNmFile,UserPwdFile,NmFile,GenderFile,MmFile

      UserNmFile="txt/UserName.txt"
      UserPwdFile="txt/Password.txt"
      NmFile="txt/Name.txt"
      GenderFile="txt/Gender.txt"
      MmFile="txt/Memo.txt"

      UserNmFile=Server.MapPath(UserNmFile)
      UserPwdFile=Server.MapPath(UserPwdFile)
      NmFile=Server.MapPath(NmFile)
      GenderFile=Server.MapPath(GenderFile)
      MmFile=Server.MapPath(MmFile)
      '////////////////////////////////////////////////////////
      '寫用戶信息到文件
      Sub WriteUser(UserName,FileName,UserInfo)
        Dim fs, f
        Set fs = CreateObject("Scripting.FileSystemObject")
        If fs.FileExists(FileName) = False Then
          fs.CreateTextFile (FileName)
        End If
        '以添加方式打開文件
        Set f = fs.OpenTextFile(FileName, 8)
        '用戶信息開始標志
        f.WriteLine ("`" & UserName & "`")
        f.WriteLine (UserInfo)
        '用戶信息結束標志
        f.WriteLine ("`e`")
        
        f.Close
        Set f = Nothing
        Set fs = Nothing
      End Sub
      '讀取用戶信息
      Function ReadUser(UserName,FileName)
        Dim i
        Dim s
        Dim ret
        Dim fs, f
        
        Set fs = CreateObject("Scripting.FileSystemObject")
        if fs.FileExists(FileName)=false then
          Set fs=Nothing
          ReadUser=""
          Exit Function
        end if 
        '以只讀方式打開文件
        Set f = fs.OpenTextFile(FileName, 1)
        
        Do While f.AtEndOfStream <> True
          s = f.ReadLine
          If s = "`" & UserName & "`" Then
            s = f.ReadLine
            ret=""
            Do While s <> "`e`"
              if ret="" then
                ret = ret + s
              else 
                ret = ret + Chr(13) & Chr(10)+s
              end if
              s = f.ReadLine
            Loop
            Exit Do
          End If
        Loop
        
        f.Close
        Set f = Nothing
        Set fs = Nothing
        ReadUser = ret
      End Function
      '刪除用戶信息
      Sub DeleteUser(UserName,FileName)
        Dim i
        Dim s
        Dim tmp
        Dim fs, f
        
        Set fs = CreateObject("Scripting.FileSystemObject")
        if fs.FileExists(FileName)=false then
          Set fs=Nothing
          Exit Sub
        end if 
        Set f = fs.OpenTextFile(FileName, 1)
        tmp=""
        Do While f.AtEndOfStream <> True
          s = f.ReadLine
          If s <> "`" & UserName & "`" Then
            if tmp="" then
              tmp = tmp + s
            else
              tmp = tmp + Chr(13) & Chr(10)+ s 
            end if
          Else
            Do While s <> "`e`"
              s = f.ReadLine
            Loop
          End If
        Loop
        
        f.Close
        Set f = fs.CreateTextFile(FileName, True)
        f.WriteLine tmp
        
        f.Close
        Set f = Nothing
        Set fs = Nothing
      End Sub
      '修改用戶信息
      Sub ModifyUser(UserName,FileName,NewUserInfo)
        Dim i
        Dim s
        Dim tmp
        Dim fs, f
        
        Set fs = CreateObject("Scripting.FileSystemObject")
        if fs.FileExists(FileName)=false then
          Set fs=Nothing
          Exit Sub
        end if 
        Set f = fs.OpenTextFile(FileName, 1)
        tmp=""
        Do While f.AtEndOfStream <> True
          s = f.ReadLine
          If s <> "`" & UserName & "`" Then
            if tmp="" then
              tmp = tmp + s
            else
              tmp = tmp + Chr(13) & Chr(10)+ s 
            end if
          Else
            Do While s <> "`e`"
              s = f.ReadLine
            Loop
            if tmp="" then
              tmp = tmp + "`" & UserName & "`"
            else
              tmp = tmp  + Chr(13) & Chr(10)+ "`" & UserName & "`"
            end if
            tmp = tmp  + Chr(13) & Chr(10)+ NewUserInfo
            tmp = tmp + Chr(13) & Chr(10) + "`e`"
          End If
        Loop
        
        f.Close
        Set f = fs.CreateTextFile(FileName, True)
        f.WriteLine tmp
        
        f.Close
        Set f = Nothing
        Set fs = Nothing
      End Sub
      '判斷用戶是否已存在
      Function UserExist(UserName,FileName)
        Dim fs, f

        Set fs = CreateObject("Scripting.FileSystemObject")
        if fs.FileExists(FileName)=False then
          Set fs=Nothing
          UserExist=False
          Exit Function
        end if 
        Set f = fs.OpenTextFile(FileName, 1)
        
        Do While f.AtEndOfStream <> True
          s = f.ReadLine
          If s = "`" & UserName & "`" Then
            UserExist = True
            Exit Function
          End If
        Loop
        
        f.Close
        Set f = Nothing
        Set fs = Nothing
        
        UserExist = False
      End Function

      %>

      '********************index.htm*************************************
      <html>

      <body>
      <a href="register.htm">用戶注冊 </a><br>
      <a href="login.htm">用戶登陸 </a><br>
      <a href="modify.htm">用戶修改 </a><br>
      <a href="delete.htm">用戶刪除 </a><br>
      </body>

      </html>
      '****************register.htm***************************************
      <html>

      <body>
      用戶注冊
      <form name="form1" method="post" action="regsubmit.asp">
        <table border="0">
          <tr>
            <td width="28%">用戶名</td>
            <td width="72%">
              <input type="text" name="edtUserNm">
            </td>
          </tr>
          <tr>
            <td width="28%">密碼</td>
            <td width="72%">
              <input type="text" name="edtUserPwd">
            </td>
          </tr>
          <tr>
            <td width="28%">姓名</td>
            <td width="72%">
              <input type="text" name="edtNm">
            </td>
          </tr>
          <tr>
            <td width="28%">性別</td>
            <td width="72%">
              <input type="text" name="edtGender">
            </td>
          </tr>
          <tr>
            <td width="28%">簡歷</td>
            <td width="72%">
              <textarea name="edtMm"></textarea>
            </td>
          </tr>
          <tr>
            <td width="28%"> </td>
            <td width="72%">
              <input type="submit" name="Submit" value="提交">
            </td>
          </tr>

        </table>
        <p> </p>
      </form>


      </body>

      </html>

      '***************************regsubmit.asp**************************
      <!--#include file="fun.inc"-->

      <%
      dim UserNm,UserPwd,Nm,Gender,Memo
      UserNm=Request("edtUserNm")
      UserPwd=Request("edtUserPwd")
      Nm=Request("edtNm")
      Gender=Request("edtGender")
      Mm=Request("edtMm")

      if trim(UserNm)="" then
        Response.Write "用戶名不能為空"
        Response.End
      end if

      '判斷用戶是否已存在
      if UserExist(UserNm,UserNmFile) then
        Response.Write "用戶已存在"
        Response.End
      end if

      '寫用戶信息到各個文件
      WriteUser UserNm,UserNmFile,UserNm
      WriteUser UserNm,UserPwdFile,UserPwd
      WriteUser UserNm,NmFile,Nm
      WriteUser UserNm,GenderFile,Gender
      WriteUser UserNm,MmFile,Mm

      Response.Write "注冊成功,以下為注冊信息" & "<br><br>"
      Response.Write "用戶名:" & UserNm & "<br>"
      Response.Write "密碼:" & UserPwd & "<br>"
      Response.Write "姓名:" & Nm & "<br>"
      Response.Write "性別:" & Gender & "<br>"
      Response.Write "簡歷:" & Mm 
      %>

      <html>
      <body>
      </body>
      </html>

      '****************************login.htm************************
      <html>

      <body>
      用戶登陸
      <form name="form1" method="post" action="loginsubmit.asp">
        <table border="0">
          <tr>
            <td width="28%">用戶名</td>
            <td width="72%">
              <input type="text" name="edtUserNm">
            </td>
          </tr>
          <tr>
            <td width="28%">密碼</td>
            <td width="72%">
              <input type="text" name="edtUserPwd">
            </td>
          </tr>
          <tr>
            <td width="28%"> </td>
            <td width="72%">
              <input type="submit" name="Submit" value="登陸">
            </td>
          </tr>
        </table>

      </form>


      </body>

      </html>

      '****************************loginsubmit.asp**********************
      <!--#include file="fun.inc"-->

      <%
      dim UserNm,UserPwd
      UserNm=Request("edtUserNm")
      UserPwd=Request("edtUserPwd")

      '判斷用戶是否已存在
      if UserExist(UserNm,UserNmFile)=False then
        Response.Write "用戶名不存在"
        Response.End
      end if

      dim SavePwd
      SavePwd=ReadUser(UserNm,UserPwdFile)

      if SavePwd<>UserPwd then
        Response.Write "密碼錯誤"
        Response.End
      end if

      Response.Write "登陸成功"

      %>

      <html>
      <body>
      </body>
      </html>

      '***************************modify.htm*****************************
      <html>

      <body>
      用戶修改
      <form name="form1" method="post" action="modifylist.asp">
        <table border="0">
          <tr>
            <td width="28%">用戶名</td>
            <td width="72%">
              <input type="text" name="edtUserNm">
            </td>
          </tr>
          <tr>
            <td width="28%"> </td>
            <td width="72%">
              <input type="submit" name="Submit" value="調出信息">
            </td>
          </tr>
        </table>

      </form>


      </body>

      </html>

      '**************************modifylist.asp****************************
      <!--#include file="fun.inc"-->
      <%
      dim UserNm
      UserNm=Request("edtUserNm")

      '判斷用戶是否已存在
      if UserExist(UserNm,UserNmFile)=False then
        Response.Write "用戶名不存在"
        Response.End
      end if

      dim UserPwd,Nm,Gender,Mm
      UserPwd=ReadUser(UserNm,UserPwdFile)
      Nm=ReadUser(UserNm,NmFile)
      Gender=ReadUser(UserNm,GenderFile)
      Mm=ReadUser(UserNm,MmFile)

      %>
      <html>
      <body>
      用戶信息修改
      <form name="form1" method="post" action="modifysubmit.asp">
        <table border="0">
          <tr>
            <td width="28%">用戶名</td>
            <td width="72%">
              <b><font color="#0000ff"><%Response.Write UserNm  %></font></b>
              <input type="hidden" name="edtUserNm" value=<%=UserNm %>>
            </td>
          </tr>
          <tr>
            <td width="28%">密碼</td>
            <td width="72%">
              <input type="text" name="edtUserPwd" value=<%=UserPwd %>>
            </td>
          </tr>
          <tr>
            <td width="28%">姓名</td>
            <td width="72%">
              <input type="text" name="edtNm" value=<%=Nm %>>
            </td>
          </tr>
          <tr>
            <td width="28%">性別</td>
            <td width="72%">
              <input type="text" name="edtGender" value=<%=Gender %>>
            </td>
          </tr>
          <tr>
            <td width="28%">簡歷</td>
            <td width="72%">
              <textarea name="edtMm"><%=Mm %></textarea>
            </td>
          </tr>
          <tr>
            <td width="28%"> </td>
            <td width="72%">
              <input type="submit" name="Submit" value="保存修改">
            </td>
          </tr>

        </table>
        <p> </p>
      </form>


      </body>

      </html>

      '********************************modifysubmit.asp*******************
      <!--#include file="fun.inc"-->

      <%
      dim UserNm,UserPwd,Nm,Gender,Mm
      UserNm=Request("edtUserNm")
      UserPwd=Request("edtUserPwd")
      Nm=Request("edtNm")
      Gender=Request("edtGender")
      Mm=Request("edtMm")

      if trim(UserNm)="" then
        Response.Write "用戶名不能為空"
        Response.End
      end if

      '更新用戶信息到各個文件
      ModifyUser UserNm,UserNmFile,UserNm
      ModifyUser UserNm,UserPwdFile,UserPwd
      ModifyUser UserNm,NmFile,Nm
      ModifyUser UserNm,GenderFile,Gender
      ModifyUser UserNm,MmFile,Mm

      Response.Write "保存成功,以下為更新后的信息" & "<br><br>"
      Response.Write "用戶名:" & UserNm & "<br>"
      Response.Write "密碼:" & UserPwd & "<br>"
      Response.Write "姓名:" & Nm & "<br>"
      Response.Write "性別:" & Gender & "<br>"
      Response.Write "簡歷:" & Mm 
      %>

      <html>
      <body>
      </body>
      </html>

      '*************************delete.htm******************************
      <html>

      <body>
      用戶刪除
      <form name="form1" method="post" action="deletesubmit.asp">
        <table border="0">
          <tr>
            <td width="28%">用戶名</td>
            <td width="72%">
              <input type="text" name="edtUserNm">
            </td>
          </tr>
          <tr>
            <td width="28%"> </td>
            <td width="72%">
              <input type="submit" name="Submit" value="刪除">
            </td>
          </tr>
        </table>

      </form>


      </body>

      </html>

      '*******************************deletesubmit.asp********************
      <!--#include file="fun.inc"-->

      <%
      dim UserNm
      UserNm=Request("edtUserNm")

      '判斷用戶是否已存在
      if UserExist(UserNm,UserNmFile)=False then
        Response.Write "用戶名不存在"
        Response.End
      end if

      DeleteUser UserNm,UserNmFile
      DeleteUser UserNm,UserPwdFile
      DeleteUser UserNm,NmFile
      DeleteUser UserNm,GenderFile
      DeleteUser UserNm,MmFile

      Response.Write "刪除成功"

      %>

      <html>
      <body>
      </body>
      </html>
      ********************the end****************************


      日韩精品一区二区三区高清