菜鳥十天學會ASP教程之第九天:Session組件

來源:互聯網
上載者:User
session|教程|十天學會

  上一節:修改記錄

  學習目的:基本的SESSION組件,總結response,request組件。

  首先,有會員系統的任何程式都會用到檢測是不是使用者已經登陸這個步驟。這就用到了SESSION組件,下面我們 看一個代碼來說明。

<%
session("login")="yes"
%>

  這句話的意思就是在session裡面定義一個login字串變數,值為"yes",直接可以賦值,不需要聲明。是不是很簡單?

  如果我們做管理員登陸系統的話,首先是一段檢測是不是管理員:

if 是 then
session("isadmin")=yes"
else
session("isadmin")="no"
end if

  在每一個需要管理員才能看的頁面最前面加上:

<%
if not session("isaadmin")="yes" then
response.redirect "login.htm"
%>

  這樣一般使用者就無法開啟這個頁面。解釋一下response.redirect,它是轉向的意思,後面的"login.htm"就是轉向的檔案。這樣沒有登陸的管理員是無法看到後面的內容的。

  response組件基本就是用到response.write(),response.redirect() 分別是寫字串和轉向的作用。

  request基本就是request.form(),request.querystring() 分別是接受post,get方法傳來的資訊。

  最後我們一起來製作一個簡單的後台登陸管理介面,首先在myweb目錄下建立一個admin檔案夾,然後我們建立一個資料庫名字為admin.mdb,然後我們再建立一個表,表中設定兩個欄位name,password,類型都是文本型的!最後退出時設定主鍵,儲存為表名check。然後可以輸入一條記錄使用者名稱:admin,密碼:admin。具體建立資料庫的方法請看《菜鳥十天學會ASP教程之第三天:資料庫的建立

  下面我們開始編寫ASP程式,首先建立一個index.asp(管理主介面)程式,代碼如下:

<%@language=vbscript%>
<%if not session("checked")="yes" then
response.Redirect "login.asp" 
else
%>
<html>
<head>
<title>管理介面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<frameset cols="167,*" frameborder="YES" border="1" framespacing="1" rows="*" bordercolor="#666666">
  <frame name="leftFrame" scrolling="auto" noresize src="left.asp">
  <frame name="mainFrame" src="right.asp">
</frameset>
<noframes>
<body bgcolor="#FFFFFF" text="#000000">
</body>
</noframes>
</html>
<%end if%>

  在上面的代碼中,大家可以看到用到login.asp,left.asp,right.asp程式

  login.asp://登陸系統程式

<html>
<head>
<title>管理員入口</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
.topic {  font-family: "宋體"; font-size: 11pt; font-weight: bold; color: #FFFFFF}
.font {  font-family: "宋體"; font-size: 10pt; font-weight: normal; color: #000000}
.table {  border-color: #666666 black; border-style: solid; border-top-width: 1pt; border-right-width: 0px; border-bottom-width: 1pt; border-left-width: 0px}
.text {  border: 1pt #999999 solid; height: 15pt}
-->
</style>
</head>

<body text="#000000" topmargin="0" bgcolor="#FFFFFF">
<table width="100%" border="0" cellpadding="0" cellspacing="0" align="center" height="100%">
  <tr>
    <td height="129" valign="top" colspan="3">  </td>
  </tr>
  <tr>
    <td width="230" height="170" valign="top"> </td>
    <td valign="top" width="277">
      <table width="100%" border="0" cellspacing="1" cellpadding="0" height="100%" bgcolor="#000000" align="center">
        <tr>
          <td align="center" valign="middle" height="167">
            <form name="form1" method="post" action="check.asp">
              <table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
              <tr bgcolor="#62892C">
                <td height="31" class="topic" colspan="2">
                  <div align="center">管理員入口<br>
                  </div>
                </td>
              </tr>
              <tr>
               
                  <td bgcolor="#87bc3c" colspan="2" class="table">
                    <div align="center"> <span class="font"> 管理員:</span>
                      <input type="text" name="name"  class="text" size="20" >
                      <br>
                      <span class="font">密 碼:</span>
                      <input type="password" name="password" class="text" size="20" ><%if session("check")="wrong" then response.Write "<br><span class='font'><font color=red>驗證錯誤!</font></span>" end if%>
                    </div>
                  </td>
            
              </tr>
              <tr>
                <td bgcolor="#87bc3c" width="52%">
                    <div align="center" class="font">
                      <input type="reset" name="Submit2" value="重設" class="text">
                    </div>
                </td>
                <td bgcolor="#87bc3c" width="48%">
                    <div align="center" class="font">
                      <input type="submit" name="Submit22" value="提交" class="text">
                    </div>
                </td>
              </tr>
            </table>   </form>
          </td>
        </tr>
      </table>
    </td>
    <td width="241" valign="top"> </td>
  </tr>
  <tr>
    <td height="123" valign="top" colspan="3"> </td>
  </tr>
</table>
</body>
</html>

  在上面的程式中用到一個檢查使用者和密碼是否正確的程式check.asp://核對輸入的使用者和密碼是否正確

<%
dim name,password
name=request.form("name")
password=request.form("password")
dim exec,conn,rs
exec="select *from check where(name='"&name&"' and password='"&password&"')"
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("admin.mdb")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn
if not rs.eof then
rs.Close
conn.Close
session("checked")="yes"
session("check")="right"
response.Redirect "index.asp"
else
session("checked")="no"
session("check")="wrong"
response.Redirect "login.asp"
end if
%>

  left.asp://管理導航

<%@language=vbscript%>
<%if not session("checked")="yes" then
response.Redirect "login.asp" 
else
%>
<html>
<head>
<title>管理介面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body text="#000000" topmargin="0" bgcolor="#ffffff" leftmargin="10">
<div align="center"><a href="index.asp" target="_parent"><br>
  <br>
  管理介面首頁</a> <a href="exit.asp" target="_parent">退出</a><br> 
  <br>
</div>
</body>
</html>
<%end if%>

  exit.asp://退出系統

<%@language=vbscript%>
<%
session("check")=""
session("checked")=""
response.redirect "login.asp"
%>

  right.asp://具體管理的內容

<%@language=vbscript%>
<%if not session("checked")="yes" then
response.Redirect "login.asp" 
else
%>
<html>
<title>管理介面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#ffffff" text="#000000" topmargin="20" class="title">

這裡是網頁教學網的管理系統樣本!請大家多研究使用!
</body>
</html>
<%end if%>

  運行時首先運行index.asp程式,運行效果部分截圖如下:

  下一節:分頁技術



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。