Giáo trình Lập trình Web - Chương 3: Web động Asp với Web động
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Lập trình Web - Chương 3: Web động Asp với Web động", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- giao_trinh_lap_trinh_web_chuong_3_web_dong_asp_voi_web_dong.pdf
Nội dung text: Giáo trình Lập trình Web - Chương 3: Web động Asp với Web động
- CHƯƠNG 3. WEB ĐỘNG ASP VỚI WEB ĐỘNG GV. HTHT
- 3.1. Định nghĩa và đặc điểm của web động GV. HTHT
- a)Định nghĩa Website động (Dynamic Web Pages) : Nó có thể là các thành phần sau: + Search Engine: + Member account: + Shopping Cart: + Online Payment: + Forum: GV. HTHT
- b) Đặc điểm -Thông tin thay đổi -Cho phép tương tác với server - Mã nguồn có thể che dấu đối với người dùng GV. HTHT
- 3.2. Kịch bản xử lý tình huống GV. HTHT
- HỎI TRẢ LỜI GV. HTHT
- 3.3. Tổ chức web động trên webserver GV. HTHT
- Webserver ? Internet Information Server: IIS có thể làm được gì? - Xuất bản một Home page lên Internet. - Tạo các giao dịch thương mại điện tử trên Internet( Quá trình giao dịch, đặt hàng) - Cho phép người dùng từ xa có thể truy xuất C sở dữ liệu (Data Base Remote Access) GV. HTHT
- IIS hoạt động như thế nào? GV. HTHT
- IIS là hệ thống phục vụ web server được tích hợp với hệ điều hành window XP, NT. Cách cài đặt IIS trên xp và win2000 như sau: B1: vào control Panel -> Add or remove programs B2: chọn add/remove programs componens B3: Tích chọn Internet Information Services (IIS) -> Kích vào detail để chọn toàn bộ các thành phần trong đó B4: Kích next để cài bổ sung (nó sẽ yêu chỉ ra đường dẫn I386 của bộ cài Win) GV. HTHT
- 3.4. ASP là gì? Môi trường sử dụng, cài đặt và cách thức hoạt động GV. HTHT
- ASP là gì? ASP (Active Server Pages) là một môi trường lập trình cung cấp cho việc kết hợp: -HTML, -ngôn ngữ kịch bản (Scripting) như VBScript, Javacript, - và các thành phần được viết trong các ngôn ngữ nhằm tạo ra một ứng dụng Internet mạnh mẽ và hoàn chỉnh. GV. HTHT
- a) Tệp ASP là gì? File được tạo với phần mở rộng .ASP. Trong file này chứa các thẻ HTML, Các kịch bản Scripting như VBSCript, JavaScript hay các lời gọi đến các components (Như DLL và ActiveX control) Các script của ASP được nằm trong cặp thẻ GV. HTHT
- b) Môi trường sử dụng - Công nghệ ASP được xây dưng trực tiếp bên trong : IIS(WinNT, 2000), Personal Webserver. GV. HTHT
- Trong ASP có 5 đối tượng phục vụ cho việc sử dụng toàn bộ. + Request: Lấy thông tin từ User + Response: Gửi thông tin từ Server tới User. + Server: Dùng để điều khiển IIS + Session: Dùng để lưu trữ các thông tin như các cài đặt, thay đổi cho một phiên làm việc hiện thời của User. + Application: Dùng để chia sẻ các thông tin cấp ứng dụng và điều khiển các thiết lập cho toàn bộ quá trình chạy ứng dụng GV. HTHT
- 3.5. Các thao tác trên asp GV. HTHT
- 3.5.1. Câu lệnh ASP và các khai báo GV. HTHT
- - Có 2 cách viết asp: + viết theo mã VBSCript vd: GV. HTHT
- + Viết theo mã JavaScript + viết theo mã VBSCript vd: GV. HTHT
- Các cấu trúc điểu khiển của VBScript + Cấu trúc if: IF biểu thức điều khiển THEN CÂU LỆNH ELSE Câu lệnh END IF + Câu lệnh select case SELECT CASE btchọn CASE gtri1 câu lệnh1 CASE gtriN câu lệnh N END SELECT GV. HTHT
- + Câu lệnh for c1: FOR bt1 TO bt2 STEP =N (nếu không có step mặc định bằng 1) Câu lệnh NEXT C2: FOR EACH bien IN tập giá trị Câu lệnh NEXT + Câu lệnh while Do WHILE btdk Khối câu lệnh LOOP + Câu lệnh Until Do UNTIL btdk Khối câu lệnh LOOP GV. HTHT
- 3.5.2. Hàm và thủ tục của ASP GV. HTHT
- + Hàm FUNCTION tenham(dsthamso) Câu lệnh Tenham=bieuthuc ‘EXIT FUNCTION END FUCTION + Thủ tục SUB tenthutuc(dsthamso) Câu lệnh ‘exit sub END SUB GV. HTHT
- 3.5.3. Các thao tác trên Form GV. HTHT
- Nhận dữ liệu từ form HTML Có 2 phương thức trên form để nhận và xử lý dữ liệu từ form HTML của ASP a) Phưng thức GET ( ) Để nhận các dữ liệu từ FORM HTML theo phưng thức Get bạn có thể dùng phương thức asp sau: Request.QueryString(tên thành phần form) để xử lý dữ liệu nhận được từ form html gửi đến GV. HTHT
- Vd: Tệp Yeucau.htm gồm có 2 hộp text box là TEN và TUOI nằm trong một form theo phương thức Get để gửi yêu cầu đến tệp traloi.asp Tệp yeucau.htm Hä tªn: Tªn: GV. HTHT
- Tệp traloi.asp Xin chao, . Tuoi cua ban: . Xin chao, Tran Van Hung. Tuoi cua ban: 30. GV. HTHT
- b) Phưng thức POST ( ) Để nhận các dữ liệu từ FORM HTML theo phương thức POST bạn có thể dùng phưng thức Request.Form(tên thành phần form) hoặc Request(tên thành phần form) GV. HTHT
- Tệp traloi.asp Xin chao, . Tuoi cua ban: . Hoặc: Xin chao, . Tuoi cua ban: . Xin chào, Tran Van Hung. Tuổi của ban: 30. GV. HTHT
- Vẫn ví dụ trên ta có: Tệp yeucau.htm Họ tên: Tên: GV. HTHT
- 3.5.4. Các kết nối dữ liệu GV. HTHT
- Sử dụng đối tượng Server của ASP để thiết lập kết nối dữ liệu + CreateObject: Tạo ra một đối tượng của thành phần server. Có thể dùng để kết nối đến cơ sở dữ liệu : access, odbc, sql server GV. HTHT
- vd: + Kết nối trực tiếp đến tệp access có tên là northwind.mdb trong thư mục c:¥webdata + Kết nối đến một tệp cơ sở dữ liệu thông qua ODBC với DSN là northwind tham chiếu đến tệp access northwind.mdb GV. HTHT
- Cách tạo một kết nối đến tệp cơ sở dũ liệu của ODBC B1: Mở biểu tượng ODBC trong Control Panel (Hoặc Administrator Tool trong ControlPanel của Win2000) B2: Chọn thẻ System DNS tab B3: Kích vào ADD trong thẻ tab này B4: Chọn the Microsoft Access Driver sau đó kích Finish B5: Trong bước tiếp theo kích select để chọn tệp CSDL B6: Đánh vào tên của Data Source Name (DSN) ( đây là tên sẽ được dùng để kết nối) Kích OK kết thúc kết nối GV. HTHT
- + kết nối đến csdl sql server ; Initial Catalog= ; User ID= ; Password= ;” %> Trong đó: Data source: Initial Catalog: User ID Password GV. HTHT
- Ví dụ: trên máy tính có địa chỉ IP là 10.0.3.18 đã tạo lập cơ sở dữ liệu QLSV trên hệ quản trị csdl sql server với tài khoản truy nhập user ID=nguoidung, password=123456. Hãy thiết lập kết nối đến CSDL này bằng ASP. GV. HTHT
- 3.6. Truy vấn dữ liệu GV. HTHT
- Trong truy vấn CSDL có các truy vấn cơ bản bao gồm: Select, Insert, Delete, Update. a) Phát biểu SELECT Dùng để lọc ra các bản ghi từ các bảng dữ liệu hay từ các view: SELECT [FROM ] [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] GV. HTHT
- Trong đó: - where : là điều kiện cần thiết để lọc dữ liệu. Các phép toán sử dụng trong biểu thức điều kiện: + Phép toán so sánh: >, =, , !>, !< + Các phép toán logic: and, or, not, between, in, Exists like (sử dụng dấu % để thay thế ký tự đại diện), - Order by tencot dùng để chọn cột sắp xếp tăng dần hay giảm dần Order by tencot DESC Order by cot1+cot2 DESC Order by tencot ASC Order by tencot1, tencot2, tencot3 ASC Order by tencot1+tencot2, tencot3 DESC -Group by : Khi truy vấn mẩu tin của một hay nhiều bảng, thông thường trường nào đó có cùng giá trị được lặp lại nhiều lần khi đó chúng ta muốn nhóm các thành phần này lại chỉ hiển thị một lần và thống kê số thành phần thuộc nhóm tổng giá trị nào đó của nhóm ta có thể sử dụng kết hợp với select và một số hàm thống kê trong SQL để thực hiện theo ví dụ sau: Select manganh, count(manganh), sum(dvht) from Monhoc Group by manganh Order by manganh GV. HTHT
- b) Nhập dữ liệu INSERT Insert into tenbang[(ds trường)] values (ds giá trị) vd1: chèn giá trị cụ thể insert into monhoc(mamon, tenmon,manganh, dvht) values(‘002’,’Lt asp’, ‘CT’, 5) vd2: chèn từ một bảng khác, chèn tất cả các bản ghi từ bảng Monhoc vào bảng MonhocTin với các bản ghi thuộc ngành CT insert into monhocTin select * from monhoc where manganh=’CT’ GV. HTHT
- c) Cập nhật UPDATE Dùng sửa lại dữ liệu đã tồn tại trong bảng Cú pháp: UPDATE SET cot1=value1, [cot2=value2, ] [WHERE ] ví dụ1: cập nhật cho bảng monhoc theo giá trị cụ thể update monhoc set dvht=dvht+1 where tenmon=’lập trình ASP’ ví dụ2: cập nhật cho bảng monhoc với giá trị từ một bảng khác update monhoc set manganh=(select manganh from nganhhoc where manganh=monhoc.manganh) where dvht>4 GV. HTHT
- d) Xoá bản ghi DELETE Dùng để xoá một hay nhiều bảng ghi trong bảng cú pháp DELETE FROM WHERE ví dụ: Xoá các bản ghi thuộc tập dữ liệu của bảng khác Delete from monhoc where mamon in (select mamon from diemthi where diem<5) GV. HTHT
- Truy vấn đến CSDL bằng ASP GV. HTHT
- Để truy vấn đến cơ sở dữ liệu của SQL Server bằng ASP chúng ta có 2 cách. Khảo sát ví dụ sau: Ta có CSDL QLDIEMSV (trong hệ QTCSDL SQL Server trên máy tính có IP 10.0.3.18 với quyền truy nhập User=qly password=123) gồm các bảng sau: tbl_sv (masv, tensv, ngaysinh, gioitinh, lop, nganh) tbl_monhoc (mamon, tenmon, dvht,nganh) tbl_diem(masv, mamon, diem) Hãy đưa ra thông tin các môn học lên trang web: GV. HTHT
- Các bước thực hiện: B1: Kết nối đến cơ sở dữ liệu B2: Phân tích phương pháp truy vấn (Select, Insert, Update, Delete) B3. Thi hành truy vấn B4: Trình bày thông tin trên trang web GV. HTHT
- ” rs.MoveNext ‘ chuyển đến bản ghi tiếp theo Loop Rs.close Cnn.close %> GV. HTHT
- ” rs.MoveNext ‘ chuyển đến bản ghi tiếp theo Loop ‘ lặp của while Rs.close ‘ đóng đối tượng truy vấn Cnn.close ‘ đóng kết nối %> GV. HTHT
- Một số hàm thao tác với bản ghi của tệp CSDL MoveNext Chuyển con trỏ bn ghi đến bản ghi tiếp theo MoveFirst Chuyển con trỏ bn ghi đến bản ghi đầu tiên GV. HTHT
- Trình bày dữ liệu từ truy vấn dưới dạng bảng của HTML Mã môn Tên môn đơn vị học trình Ngành GV. HTHT
- Ma môn Ten môn dvht ngành Csdl1 Cơ sở dữ liệu 3 CNTT ltw Lập trình web 3 CNTT vptv Văn phạm tiếng 3 Ngoại ngữ việt Tddk Tự động điều 2 Điện tử công khiển nghiệp GV. HTHT
- Một số truy vấn có điều kiện: Tìm kiếm bản ghi thoả mãn điều kiện nhập vào từ form HTML Hiện ra thông tin bản ghi tìm được GV. HTHT
- Tệp Maso.htm Ma so GV. HTHT
- Tệp TimMa.asp GV. HTHT
- Xoá bản ghi thoả mãn điều kiện nhận từ form HTML. Hãy xóa một bản ghi trong bảng tbl_sv khi biết mã số GV. HTHT
- Mã nguồn cho 2 tệp Xoa.htm và Xoa.asp Xoa.htm Ma so GV. HTHT
- Xoa.asp 0 then response.write("khong the xoa duoc") else response.write("da xoa xong") end if cn.close %> GV. HTHT
- Bổ sung một bản ghi vào bảng tbl_sv dữ liệu nhận được từ Form HTML GV. HTHT
- Việc bổ sung trên thực hiện bởi 2 tệp nhap_sinh_vien_moi.htm và thbs.asp Tệp nhap_sinh_vien_moi.htm NHAP SINH VIEN MOI Ma so Ho ten Ngay sinh Gioi tinh GV. HTHT
- Tệp thbs.asp 0 then response.write("khong the bo sung duoc") else response.write("da bo sung xong") end if %> GV. HTHT
- Sửa chữa nội dung bản ghi của sinh viên khi biết mã số GV. HTHT
- GV. HTHT
- GV. HTHT
- Công việc trên được thực hiện qua các tệp sau: suaTheoma.htm, ttsuachua.asp, thsc.asp Tệp suaTheoma.htm Ma so GV. HTHT
- tệp ttsuachua.asp NHAP SINH VIEN MOI Ma so "> Ho ten "> Ngay sinh "> Gioi tinh "> GV. HTHT
- Tệp thsc.asp 0 then response.write("khong the bo sung") else response.write("da sua xong") end if %> GV. HTHT
- 3.7. Bẫy lỗi trong asp GV. HTHT
- Trong quá trình thực hiện kết nối và truy vấn đến CSDL thường xuyên xẩy ra các lỗi như: -Không thể truy cập dữ liệu -Không thể bổ sung hay xóa dữ liệu (do trùng khóa hoặc bản ghi đang bị truy nhập) - Khi đó trên trang web xuất hiện lỗi do trình duyệt đưa ra. Để có thể điều hướng các lỗi này chúng ta có thể bẫy lỗi khi thi hành các câu lệnh truy vấn như sau: GV. HTHT
- On error resume next ‘ các câu lệnh có thể hay xẩy ra lỗi If err<>0 then End if GV. HTHT
- Ví du: bẫy lỗi khi bổ sung bản ghi mới vào trong bảng tbl_sv On error resume next cn.execute(strSQL) If err<>0 then response.write “khong the bo sung ban ghi vao bang tbl_sv !!!” else response.write “ Đã bo sung một ban ghi vao bang tbl_sv” End if GV. HTHT
- Cơ chế phân quyền cho các website khi truy vấn đến CSDL: Thường khi thực hiện các truy vấn insert, update, delete sẽ làm thay đổi thông tin của CSDL. Vì vậy chúng ta phải đưa ra cơ chế bảo mật cho dữ liệu. Bằng cách sau: -Phân quyền bằng cách cấp acount cho người sử dụng trang web: GV. HTHT
- Bước 1: Thêm một bảng quyen sau vào CSDL quyen(nguoidung, matkhau, quyen, mota) Bước 2: Xây dựng website thực hiện các trang web giới hạn truy cập đến cơ sở dữ liệu. GV. HTHT
- Ví dụ: Xây dựng website truy vấn cơ sở dữ liệu bảng tbl_sv gồm: - Đưa ra danh sách các sv trong bảng - Bổ sung sinh viên mới - Xóa một sinh viên khi biết mã sv Với điều kiện người thực hiện phải có quyền “quantri” mới được phép bổ sung sinh viên và xóa sinh viên. Còn nếu có quyền “nguoidung” thì chỉ được phép Xem danh sách sinh viên trong bản tbl_sv GV. HTHT