Giáo trình Lập trình Web - Chương 3: Web động Asp với Web động

pdf 72 trang huongle 2120
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:

  • pdfgiao_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

  1. CHƯƠNG 3. WEB ĐỘNG ASP VỚI WEB ĐỘNG GV. HTHT
  2. 3.1. Định nghĩa và đặc điểm của web động GV. HTHT
  3. 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
  4. 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
  5. 3.2. Kịch bản xử lý tình huống GV. HTHT
  6. HỎI TRẢ LỜI GV. HTHT
  7. 3.3. Tổ chức web động trên webserver GV. HTHT
  8. 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
  9. IIS hoạt động như thế nào? GV. HTHT
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 3.5. Các thao tác trên asp GV. HTHT
  17. 3.5.1. Câu lệnh ASP và các khai báo GV. HTHT
  18. - Có 2 cách viết asp: + viết theo mã VBSCript vd: GV. HTHT
  19. + Viết theo mã JavaScript + viết theo mã VBSCript vd: GV. HTHT
  20. 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
  21. + 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
  22. 3.5.2. Hàm và thủ tục của ASP GV. HTHT
  23. + 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
  24. 3.5.3. Các thao tác trên Form GV. HTHT
  25. 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
  26. 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
  27. Tệp traloi.asp Xin chao, . Tuoi cua ban: . Xin chao, Tran Van Hung. Tuoi cua ban: 30. GV. HTHT
  28. 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
  29. 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
  30. Vẫn ví dụ trên ta có: Tệp yeucau.htm Họ tên: Tên: GV. HTHT
  31. 3.5.4. Các kết nối dữ liệu GV. HTHT
  32. 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
  33. 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
  34. 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
  35. + kết nối đến csdl sql server ; Initial Catalog= ; User ID= ; Password= ;” %> Trong đó: Data source: Initial Catalog: User ID Password GV. HTHT
  36. 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
  37. 3.6. Truy vấn dữ liệu GV. HTHT
  38. 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
  39. 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
  40. 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
  41. 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
  42. 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
  43. Truy vấn đến CSDL bằng ASP GV. HTHT
  44. Để 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
  45. 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
  46. ” rs.MoveNext ‘ chuyển đến bản ghi tiếp theo Loop Rs.close Cnn.close %> GV. HTHT
  47. ” 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
  48. 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
  49. 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
  50. 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
  51. 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
  52. Tệp Maso.htm Ma so GV. HTHT
  53. Tệp TimMa.asp GV. HTHT
  54. 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
  55. Mã nguồn cho 2 tệp Xoa.htm và Xoa.asp Xoa.htm Ma so GV. HTHT
  56. Xoa.asp 0 then response.write("khong the xoa duoc") else response.write("da xoa xong") end if cn.close %> GV. HTHT
  57. Bổ sung một bản ghi vào bảng tbl_sv dữ liệu nhận được từ Form HTML GV. HTHT
  58. 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
  59. Tệp thbs.asp 0 then response.write("khong the bo sung duoc") else response.write("da bo sung xong") end if %> GV. HTHT
  60. Sửa chữa nội dung bản ghi của sinh viên khi biết mã số GV. HTHT
  61. GV. HTHT
  62. GV. HTHT
  63. 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
  64. tệp ttsuachua.asp NHAP SINH VIEN MOI Ma so "> Ho ten "> Ngay sinh "> Gioi tinh "> GV. HTHT
  65. Tệp thsc.asp 0 then response.write("khong the bo sung") else response.write("da sua xong") end if %> GV. HTHT
  66. 3.7. Bẫy lỗi trong asp GV. HTHT
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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