Ví dụ minh họa

Một phần của tài liệu giáo trình asp khoa công nghệ thông tin đại học bách khoa hồ chí minh (Trang 76)

Sau đây là một ví dụ hiển thị một cửa sổ đăng nhập (login) cho phép người dùng gõ vào tên truy cập (username) và mật khẩu (password). Chương trình sẽ kiểm

tra cặp username và password này có tồn tại trong tập tin password.txt trong thư mục hiện tại của ứng dụng không? Nếu có thì chương trình sẽ đưa người dùng đến trang main.asp. Nếu không thì chương trình sẽ thông báo và bắt người dùng đăng nhập lại.

Tập tin common.asp chứa các hàm mà người dùng định nghĩa trong đó có hàm CheckAccount dùng để kiểm tra xem username và password truyền vào có tồn tại trong tập tin password.txt không? Nếu có thì hàm này trả vềtrue. Nếu không thì hàm này sẽ trả vềfalse. Nội dung của common.asp như sau:

<%

Function CheckAccount(uname,upass)

Dim fso ' Bien chua doi tuong FileSystem Dim ftxt ' Bien chua doi tuong File

Dim stLine Dim path Dim uname_pass uname=CStr(uname) upass=CStr(upass)

uname_pass = uname & ":" & upass

CheckAccount=false ' Mac dinh ban dau path = Server.MapPath(".") & "\Password.txt" Set fso =

Server.CreateObject("Scripting.FileSystemObject") Set ftxt = fso.OpenTextFile(path)

While (ftxt.AtEndOfStream <> true) and (CheckAccount=false)

stLine = ftxt.Readline if (uname_pass = stLine) then

CheckAccount= true end if Wend ftxt.Close Set ftxt=nothing Set fso=nothing End Function %>

Tập tin login.asp là tập tin mô tả giao diện với người dùng. Nội dung của login.asp

<!--#include file = "common.asp" --> <html>

<head>

<title> Login to …</title> </head>

<body>

<b><font size="6">Login</font></b></p>

<%

Dim uname, upass

uname = Request.Form("Uname") upass = Request.Form("Upass")

if (uname <> "") and (upass <> "") then

if CheckAccount(uname, upass) = true then response.redirect ("main.asp")

else

response.write ("<font color = red> Please check username and password! </font>")

end if

elseif uname <> "" then

response.Write ("<font color = red> Please enter password! </font>")

elseif upass <> "" then

response.Write ("<font color = red> Please enter username! </font>")

end if %>

<form method="POST" action = "login.asp"> <table border="1" cellpadding="0" cellspacing="0" width="27%">

<tr>

<td width="10%">Username </td>

<td><input type = text size="20" name="Uname" value = '<% = Server.HTMLEncode(Request.Form("Uname"))%>'> </td> </tr> <tr> <td width="10%">Password </td> <td><input type="password" size="20"

name="Upass"> </td> </tr>

<tr>

<td width="100%" colspan="2"> <p align="center">

<input type="submit" value="Login" name="B3"></td> </tr> </table> </form> </body> </html>

Tạo tập tin main.asp. Khi bạn viết một ứng dụng web thực sự thì trang main.asp chính là trang chính của ứng dụng. Giả sử tập tin main.asp với nội dung sau:

<html> <head>

<title> Trang Web chính… </title> </head>

<body> <%

Response.Write (“Đăng nhập thành công. Chào mừng bạn đến trang Web của chúng tôi!”)

%> </body> </html>

Tạo tập tin Password.txt và đặt cùng thư mục với ba tập tin trên với nội dung sau: abc:abc

cobe:becon nvlong:long1280 hung1254:meocon

Đây chính là danh sách các username và password mà ứng dụng cho phép đăng nhập vào. Nếu muốn thêm người dùng, bạn thêm vào tập tin này các dòng tương ứng.

Đặt 4 tập tin vừa tạo vào trong cùng một thư mục và tạo một thư mục ảo với tên MyWeb chỉđển thư mục chứa 4 tập tin này.

Mở trình duyệt và gõ vào http://localhost/MyWeb/login.asp. Kết quả sẽ hiển thị lên màn hình như sau:

Khi người dùng gõ vào đúng username và password trong tập tin password.txt thì khi nhấn nút login người dùng sẽđược chuyển sang trang main.asp như sau:

Nhưng khi gõ sai username hay password thì một câu thông báo sẽ được hiện lên và bắt người dùng đăng nhập lại như sau:

Một phần của tài liệu giáo trình asp khoa công nghệ thông tin đại học bách khoa hồ chí minh (Trang 76)

Tải bản đầy đủ (PDF)

(135 trang)