Tự học PHP lập trình web - Nguyễn Văn Đại

doc 184 trang phuongnguyen 2460
Bạn đang xem 20 trang mẫu của tài liệu "Tự học PHP lập trình web - Nguyễn Văn Đại", để 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:

  • doctu_hoc_php_lap_trinh_web_nguyen_van_dai.doc

Nội dung text: Tự học PHP lập trình web - Nguyễn Văn Đại

  1. Nguyễn Văn Đại Tự học PHP lập trình web MỤC LỤC MỤC LỤC 1 Chương 1: Quy trình thiết kế website 6 I. Các khái niệm cơ bản 6 1. HTML (Hypertext Markup Language) – Ngôn ngữ đánh dấu siêu văn bản 7 2. Ngôn ngữ lập trình Web 7 3. WebServer – trình chủ Web 7 4. Database server – Trình chủ CSDL 7 5. Web browser-Trình duyệt Web 7 6. URL (Uniform Resource Locator)- Tài nguyên trên Internet 7 7. HTTP (Hypertext Transfer Protocol)- Giao thức truyền siêu văn bản 8 8. Cơ chế Web 8 II. Quy trình thiết kế website 9 1. Xác định mục đích, yêu cầu của website 9 2. Xác định độc giả 9 3. Thiết kế giao diện Website 10 4. Các thành phần cơ bản của Website 12 III. Một số nguyên tắc khi phát triển website 12 Chương 2: Giới thiệu về ngôn ngữ HTML 16 I. Khái niệm cơ bản về html 16 1. HTML là gì? 16 2. Thẻ HTML 16 3. Cần gì để tạo một trang web 16 II. Các thẻ định cấu trúc tài liệu 16 1. Thẻ html 16 2. Thẻ head 17 3. Thẻ title 17 4. Thẻ body 17 III. Các thẻ định dạng khối 18 1. Thẻ định dạng khối văn bản 18 2. Các thẻ định dạng đề mục h1/h2/h3/h4/h5/h6 18 3. Thẻ xuống dòng 19 4. Thẻ pre và thẻ 19 IV. Các thẻ định dạng danh sách 19 V. Các thẻ định dạng ký tự 20 1. Các thẻ định dạng in ký tự 20 2. Căn lề văn bản trong trang Web 21 3. Các ký tự đặc biệt 21 4. Sử dụng màu sắc trong thiết kế các trang Web 21 5. Chọn kiểu chữ cho văn bản 23 6. Khái niệm văn bản siêu liên kết 23 7. Địa chỉ tương đối 24 8. Kết nối mailto 25 9. Vẽ một đường thẳng nằm ngang 25 VI. Các thẻ chèn âm thanh, hình ảnh 26 1. Giới thiệu 26 2. Đưa âm thanh vào một tài liệu HTML 27 3. Chèn một hình ảnh, một đoạn video vào tài liệu HTML 27 Người soạn: Nguyễn Văn Đại Trang 1
  2. Nguyễn Văn Đại Tự học PHP lập trình web VII. Các thẻ định dạng bảng biểu 28 VIII. FORM 29 2. Hộp nhập văn bản 1 dòng (Oneline Textbox) 30 3. Radio Button 31 4. Checkbox 31 5. Nút lệnh (Button) 31 6. Combo Box (Drop-down menu) 32 7. Listbox 32 8. Hộp nhập văn bản nhiều dòng (TextArea) 33 IX. Một số thẻ đặc biệt 35 1. Thẻ 35 2. Thẻ 36 3. Thẻ 37 4. Thẻ 37 5. Thẻ 38 Chương 3: Thiết kế CSS 39 I. Giới thiệu về CSS 39 II. Cú pháp 40 1. Định dạng thuộc tính thẻ html 40 2. Định dạng một kiểu mới 41 3. Định dạng ngay trong thẻ html 42 III. Sử dụng css trong tài liệu HTML 42 1. CSS được khai báo trong một tập tin riêng 42 2. Định dạng ngay trên tài liệu html 42 IV. Một số thuộc tính thường dùng 43 1. Định kiểu nền 43 2. Định kiểu chữ 45 3. Định kiểu font 46 4. CSS Link 50 5. Định kiểu danh sách 50 6. Định kiểu bảng 52 7. Thuộc tính Id và class của thẻ 57 8. Mô hình hộp 59 Chương 4: Giới thiệu ngôn ngữ kịch bản Javascript 66 I. Giới thiệu về Javascript 66 II. Ngôn ngữ javascript 66 1. Chèn mã lệnh javascript vào trong tài liệu HTML 66 2. Lời chú thích 67 3. Biến và cách xuất thông tin lên trình duyệt 67 4. Các phép toán 68 5. Câu lệnh rẽ nhánh If Else 70 6. Câu lệnh lựa chọn Switch 72 7. Định nghĩa hàm 73 8. Hộp thông báo 73 9. Câu lệnh lặp For 75 10. Câu lệnh lặp While 76 11. Câu lệnh lặp For In 77 12. Sự kiện trong Javascript 78 13. Câu lệnh Try Catch 78 Người soạn: Nguyễn Văn Đại Trang 2
  3. Nguyễn Văn Đại Tự học PHP lập trình web 14. Câu lệnh Throw 79 15. Ký tự đặc biệt Text 80 III. Đối tượng trong javascrip 81 1. Đối tượng String 81 2. Đối tượng Date 82 3. Đối tượng Array 82 4. Đối tượng Math 83 Chương 5: Ngôn ngữ PHP 84 I. Tổng quan về PHP 84 1. Cú pháp PHP 84 2. Xuất giá trị ra trình duyệt 84 3. Lời chú thích 85 4. Biến trong PHP 85 5. Hằng 88 6. Kiểu dữ liệu 89 7. Các toán tử 91 8. Các hàm kiểm tra giá trị 93 II. Câu lệnh điều khiển 97 1. Câu lệnh rẽ nhánh If Else 97 2. Câu lệnh lựa chọn switch 99 3. Câu lệnh lặp 99 4. Sử dụng break và continue trong cấu trúc lặp 101 5. Kiểu mảng 102 III. Xây dựng hàm trong PHP 106 1. Hàm do người dùng định nghĩa 106 2. Hàm trong thư viện hàm 108 IV. Biểu mẫu form 117 1. Đặc điểm form 117 2. Biểu mẫu sử dụng phương thức $_POST 117 3. Biểu mẫu sử dụng phương thức $_GET 119 Chương 6: Hướng đối tượng trong PHP 120 I. Khái niệm 120 II. Tạo lớp 120 III. Sử dụng lớp 121 IV. Kế thừa 123 Chương 7: Tạo web động 124 I. Sử dụng tập tin dùng chung 124 1. REQUIRE 124 2. INCLUDE 126 II. Mở tập tin và thư mục 127 1. Tập tin 127 2. Thư mục 132 III. Upload tập tin lên server. 133 1. Giới thiệu 133 2. Các bước upload file 133 IV. PHP Cookies 135 1. Khái niệm 135 2. Khai báo cookie 135 3. Sử dụng cookie 136 Người soạn: Nguyễn Văn Đại Trang 3
  4. Nguyễn Văn Đại Tự học PHP lập trình web 4. Hủy cookie 136 V. PHP Sessions 136 1. Khái niệm 136 2. Cách thức hoạt động 136 3. Khởi động Session 137 4. Đặt ký Session 137 5. Sử dụng Session 137 6. Hủy biến Session 137 VI. Gửi E-mail trong PHP 138 138 Ví dụ: Lấy thông tin từ Form 138 Chương 8: CƠ SỞ DỮ LIỆU MYSQL 139 I. Tổng quan 139 1. Giới thiệu CSDL 139 2. CSDL MySQL 141 II. Bảng(Table) 145 1. Khái niệm 145 2. Thuộc tính 145 3. Thao tác với bảng 147 III. Bảng ảo 150 1. Khái niệm 150 2. Tạo bảng ảo 150 3. Cập nhật nội dung bảng ảo 151 4. Xóa bảng ảo 152 IV. Toán tử 152 1. Khái niệm 152 2. Toán tử số học 152 3. Toán tử so sánh 153 4. Toán tử logic 153 V. Phát biểu SQL 153 1. Câu lệnh SELECT 153 2. Truy vấn con 155 3. Câu lệnh thêm dữ liệu 156 4. Câu lệnh cập nhật dữ liệu 157 5. Câu lệnh xóa dữ liệu 157 6. Sử dụng mệnh đề UNION trong truy vấn 158 7. Truy vấn dữ liệu từ nhiều bảng 158 8. Sử dụng hàm trong SQL 159 9. Import và export dữ liệu 161 Chương 9: PHP&MYSQL 162 I. Kết nối CSDL 162 1. Tạo kết nối 162 2. Chọn CSDL 162 3. Truy vấn dữ liệu 163 4. Thông báo lỗi 164 5. Đóng kết nối 165 II. Làm việc với CSDL MySQL 165 1. Đếm số lượng mẫu tin 165 2. Hiển thị dữ liệu 166 Người soạn: Nguyễn Văn Đại Trang 4
  5. Nguyễn Văn Đại Tự học PHP lập trình web 3. Lưu trữ dữ liệu mới vào CSDL 171 4. Cập nhật dữ liệu 173 5. Xóa dữ liệu 174 III. PHP kết hợp với các CSDL SQL Server 174 IV. Xây dựng các lớp xử lý 175 1. Một số phương thức trong lớp xử lý bảng 175 2. Xây dựng lớp xử lý nghiệp vụ 177 Mục lục 179 Người soạn: Nguyễn Văn Đại Trang 5
  6. Nguyễn Văn Đại Tự học PHP lập trình web Chương 1: Quy trình thiết kế website I. Các khái niệm cơ bản 1. HTML (Hypertext Markup Language) – Ngôn ngữ đánh dấu siêu văn bản HTML là ngôn ngữ đánh dấu được sử dụng để tạo nên các trang Web, nó chứa các trang văn bản và những thẻ (tag) định dạng cho trình duyệt Web (web brower) biết làm thế nào để thể hiện các thông tin trên World Wide Web(WWW). HTML giờ đây trở thành một chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì. Phiên bản mới nhất của HTML là 4.01. Tuy nhiên, hiên hay HTML không còn được phát triển tiếp, nó được thay thế bằng XHTML. 2. Ngôn ngữ lập trình Web Ngôn ngữ lập trình Web là ngôn ngữ lập trình (khác với ngôn ngữ HTML- ngôn ngữ đánh dấu siêu văn bản) được sử dụng để hỗ trợ và tăng cường các khả năng của ứng dụng Web, giúp cho việc điều khiển các phần tử của trang Web dễ dàng hơn. Một số ngôn ngữ lập trình Web thường được dùng là: ASP, ASP.Net, PHP, JSP 3. WebServer – trình chủ Web WebServer là máy tính mà trên đó cài đặt các phần mềm phục vụ Web, và khi có phần mềm đó cũng được xem như một WebServer. Tất cả các WebServer đều có thể biên dịch và chạy các file *.html và *.htm, tuy nhiên các WebServer lại phục vụ một số kiểu file riêng biệt, ví dụ như IIS của Microsoft dành riêng cho các file *.asp, *.aspx; Apache dành cho các file *.PHP; Sun Java System web server của SUN dành riêng cho các file *.jsp. 4. Database server – Trình chủ CSDL Database server là máy tính mà trên đó có cài đặt một hệ quản trị CSDL (HQTCSDL) nào đó, ví dụ như SQL Server, MySQL, Oracle 5. Web browser-Trình duyệt Web Trình duyệt Web là một ứng dụng tương ứng với máy tính của người dùng, cho phép người dùng cập nhật và xem thông tin trên các trang Web. Các trình duyệt Web thông dụng hiện nay là: Internet Explorer, Netscape, FireFox, Opera, Safari 6. URL (Uniform Resource Locator)- Tài nguyên trên Internet URL là tài nguyên trên Internet. Sức mạnh của Web là khả năng tạo ra các liên kết siêu văn bản đến các thông tin có liên quan. Những thông tin này có thể là những trang web khác, hình ảnh, âm thanh Những liên kết này thường được biểu diễn bằng những chữ màu xanh có gạch dưới. Người soạn: Nguyễn Văn Đại Trang 6
  7. Nguyễn Văn Đại Tự học PHP lập trình web Các URL có thể truy xuất thông qua một trình duyệt (browser). Ví dụ 1.1: Một URL có dạng Trong đó: + http: là giao thức + là địa chỉ của máy chứa tài nguyên. + index.html là tên đường dẫn trên máy chứa tài nguyên. Nhờ địa chỉ URL mà chúng ta có thể truy cập tới các trang web khác nhau. 7. HTTP (Hypertext Transfer Protocol)- Giao thức truyền siêu văn bản HTTP là một trong các giao thức chuẩn về mạng Internet, được dùng để trao đổi thông tin giữa WebServer và người dùng (WebClient) thông qua mạng máy tính. HTTP được sử dụng thông qua URL, với cấu trúc chuỗi có định dạng như sau: http:// [: ][ [?query]] 8. Cơ chế Web Cơ chế Web là cơ chế tương tác giữa người dùng – thông qua trình duyệt Web và WebServer. + Cơ chế tương tác từ người dùng với WebServer Yêu cầu Web Browser WebServer Phản hồi Người dùng sẽ thông qua Web Browser để gửi yêu cầu tới WebServer và ngược lại Web Browser sẽ nhận phản hồi thông qua Web Browser đến người dùng. + Quy trình làm việc của PHP và MySQL thông qua Web Server Người soạn: Nguyễn Văn Đại Trang 7
  8. Nguyễn Văn Đại Tự học PHP lập trình web 1. Người dùng gửi yêu cầu Web Web Browser Server 6. Web Server truyền nội dung cho web browser, người dùng sẽ thấy được thông tin 5. PHP Engine này nhận kết quả và trả về cho Web 2. Web server nhận Server với định yêu cầu và truyền tới dạng HTML PHP Engine 3. PHP Engine kết nối tới CSDL MySQL, thực thi câu lệnh truy vấn Web Web Browser Server 4. MySQL nhận yêu cầu thực thi các câu lệnh từ PHP Engine, truy vấn dữ liệu và kết quả trả về cho PHP Engine II. Quy trình thiết kế website 1. Xác định mục đích, yêu cầu của website Để xây dụng một website có chất lượng và hiệu quả, trước tiên chúng ta cần xác định: Website dùng để làm gì? Độc giả là ai? Độc giả quan tâm đến cái gì? Cần xác định loại đọc giả là ai? Với mục tiêu “Đưa cho độc giả cái mà họ muốn xem, không phải là cái mà ta muốn họ xem”. Xây dụng website là một quá trình lâu dài, phải lên kế hoạch rõ ràng. Phải bám sát với mục đích và yêu cầu đã đăth ra. 2. Xác định độc giả Sự thành công của một website phụ thuộc vào số lượng người truy cập(độc giả). Độc giả gồm nhiều đối tượng khác nhau như: Đọc giả chuyên nghiệp, độc giả không am hiểu nhiều về web hay mạng Tùy thuộc vào độc giả chính của website, chúng ta lựa chọn phong cách của website. Phong cách này thể hiện qua màu sắc, phông chữ, hình ảnh của trang web hay văn phong của website. Người soạn: Nguyễn Văn Đại Trang 8
  9. Nguyễn Văn Đại Tự học PHP lập trình web 3. Thiết kế giao diện Website a. Xác định kiểu chữ, màu sắc Phụ thuộc vào các đặc điểm: người dùng, trình duyệt, độ phân giải, ngôn ngữ sử dụng Gam màu phải thống nhất trong toàn bộ website Phải làm cho đọc giả cảm nhận được kích thước của trang thông tin, biết họ đang ở đâu, có thể làm gì ? *Lưu ý, hầu hết các trang web đều không vừa khớp với màn hình 14, 15 inch. b. Xác định các kỹ thuật, công cụ thiết kế Phụ thuộc nhiều yếu tố: – Môi trường hosting – Đội ngũ thiết kế – Chi phí thiết kế – Băng thông đường truyền c. Cắt đoạn, tóm lược thông tin Thông tin cần chia nhỏ, tóm lược lại vì: – Người dùng có ít thời gian để đọc các tài liệu trên màn hình. Tuy nhiên cần lưu ý họ luôn có nhu cầu muốn tìm phần thông tin chủ định, không nên chia cắt quá nhỏ, tóm lược quá ngắn sẽ gây thất vọng – Hình thức và cách tổ chức đồng nhất cho phép người dùng áp dụng kinh nghiệm tìm kiếm, khám phá thông tin và cho phép họ đoán được phần website mới, lạ sẽ được tổ chức như thế nào – Thông tin ngắn gọn, súc tích thích hợp với màn hình máy tính (bị giới hạn tầm nhìn). – Việc áp dụng phải linh động, nhất quán, với hệ thống logic và sự thuận tiện cho người dùng. Cách tốt nhất để phân chia và tổ chức thông tin là thực hiện theo bản chất của nội dung. d. Xác định cấu trúc WebSite Hệ thống phân cấp Dùng để tổ chức các khối thông tin phức hợp, là hệ thống được dùng thông dụng nhất, gần với mô hình tổ chức thế giới thực nên dễ hình dung tổ chức website Người soạn: Nguyễn Văn Đại Trang 9
  10. Nguyễn Văn Đại Tự học PHP lập trình web Hệ thống các trang nối tiếp Được dùng để biểu diễn thông tin tuần tự, các bảng tường thuật nối tiếp theo thời gian, ví dụ như các thông tiin tra cứu tham khảo: tự điển, báck khoa, tự điển thuật ngữ. Thích hợp cho hệ thống website nhỏ. Ô Lưới Từng đơn vị trong cấu trúc phải có cùng cấu trúc cho các chủ đề lớn và nhỏ, cấu trúc này khó hiểu khi xác định mối liên quan giữa các loại thông tin nhưng rất tốt đối với những đọc giả có kinh nghiệm, có sẵn kiến thức về hệ thống, chủ đề trong hệ thống Mạng nhện Mô hình này khai thác triệt để ưu điểm của hyperlink, tuy nhiên cấu trúc này phi thực tế nhất, khó hiểu, khó dự đoán cho người dùng, thích hợp với những site nhỏ, đọc giả chuyên nghiệp hoặc trình độ cao, tìm kiếm các kiến thức chuyên sâu Người soạn: Nguyễn Văn Đại Trang 10
  11. Nguyễn Văn Đại Tự học PHP lập trình web 4. Các thành phần cơ bản của Website a. Trang chủ (HomePage) Tất cả các website đều được thiết lập xung quanh trang chủ (home page) giữ nhiệm vụ như một điểm xuất phát đến các trang web phúc tạp khác trong website. Trang chủ là địa chỉ web để hướng người dùng đến website của ta, là cái đầu tiên mà người dùng nhìn thấy khi truy cập đến website. Do đó trang chủ được thiết kế thích hợp là điều kiện cơ bản để website thành công. b. Hệ thống Menu, Logo, định danh Hệ thống menu phải rõ ràng, đầy đủ sẽ giúp đọc giả hình dung được cấu trúc, tổ chức website. Ngoài ra ta cần quan tâm đến vị trí, các thể hiện (có hay không có hiệu ứng), vị trí logo, định danh phải cố định nhất quán c. Các trang thành viên Ta xây dựng theo cấu trúc cơ bản của website, nhất quán, phù hợp với các thuộc tính đã được định dạng trước III. Một số nguyên tắc khi phát triển website. 1 . Tổ chức website chặt chẽ và dễ sử dụng. Website của bạn cần có cấu trúc càng rõ ràng dễ hiểu càng tốt. Điều quan trọng ở đây là phải làm sao để khách hàng thấy được ngay các thông tin mà họ hi vọng có thể thu được từ website của bạn. Nếu website của bạn có quá nhiều thông tin, bạn có thể làm cho trang chủ đơn giản bằng cách thiết kế bảng nội dung, bảng này cũng nên hết sức đơn giản và dễ sử dụng. Đồng thời sử dụng những từ và đoạn ngắn gọn dễ hiểu để thu hút người đọc. 2 . Sử dụng từ ngữ dễ hiểu. Một ai đó sẽ không thể theo dõi được quảng cáo bán hàng của bạn cũng như mua những mặt hàng mà bạn đang cung cấp nếu như họ không thể hiểu được những gì bạn đang nói. Sử dụng những lời lẽ hoa mỹ để tán dương những sản phẩm bạn cung cấp thì rất dễ nhưng bạn sẽ không thể biết được có bao nhiêu người tới website và dự định của họ như thế nào? Có thể bạn cung cấp những sản phẩm dịch vụ chất lượng tốt nhưng sẽ không ai mua nếu như họ không biết bạn đang chào bán những gì, hay không thể hiểu được lợi ích mà sản phẩm dịch vụ của bạn mang đến cho khách hàng. Hãy nhớ rằng khi một người đến thăm website của bạn, có thể anh ta chưa biết bạn là ai?. bạn đang chào bán sản phẩm gì?. Bạn phải giúp khách hàng hiểu rõ những vấn đề này trong thời gian ngắn nhất. Hãy dùng các câu ngắn gọn, cô đọng và giữ kiểu thiết kế cố định đối với tất cả các trang con. 3. Dễ dàng khám phá các đường link. Người soạn: Nguyễn Văn Đại Trang 11
  12. Nguyễn Văn Đại Tự học PHP lập trình web Bạn hãy tạo các đường link bằng chữ hay biểu tượng ở tất cả các trang con để mọi người có thể xem lại hoặc xem tiếp mà không phải sử dụng đến nút "Back" hay "Forward" của trình duyệt. Bạn cũng cần nhớ là phải có những chữ thay thế tất cả các đồ hoạ và đường liên kết trong trang của bạn. Đây là những từ sẽ xuất hiện thay thế đồ họa khi tuỳ chọn đồ hoạ trong trình duyệt bị tắt hoặc khi người ta nhấn nút "Stop" trước khi trang được tải về đầy đủ. 4. Thời gian tải về nhanh. Bạn đừng nghĩ rằng tất cả mọi người đều sử dụng một đường truyền Internet có tốc độ cao. Liệu bạn có muốn mình phải đợi 10 phút để tải một trang về trước khi xem trang đó không?. Chắc chắn là không, vì thế bạn đừng hy vọng khách hàng sẽ đợi. Bạn cũng nên nhớ rằng 30 giây trước màn hình giống như 10 phút vậy. Sử dụng đồ hoạ để trang trí là rất tốt nhưng đừng lạm dụng. Nếu bạn cần nhiều hình ảnh và đồ hoạ lớn thì nên có một biểu tượng nhỏ sẽ liên kết với hình ảnh đồng thời nhắc nhở người xem cần phải đợi. Sử dụng video và audio trong trang như một công cụ để bán hàng là ý tưởng khá hay, tuy nhiên bạn không nên sử dụng bởi hiện tại trừ các tỉnh thành lớn có đường truyền tốc độ cao ADSL hay cáp quang, vẫn còn đa số người vẫn đang sử dụng đường truyền Dial-Up với modem 28.8, 33.6 và 56.6. Nhân tố thời gian là vô cùng quan trọng vì mọi người thuờng không kiên nhẫn khi vào mạng. Nếu trang của bạn phải mất thời gian quá lâu để tải về thì khách hàng có thể nhấn chuột và bỏ đi. Đừng để mất khách hàng chỉ vì trang web của bạn tải về quá chậm. Hãy tăng tốc độ truyền của các trang web lên bằng cách: Giảm kích cỡ đồ hoạ trong trang web của bạn. Nhiều file đồ hoạ không nhất thiết phải có kích cỡ như trên các trang web thông thuờng. Bạn chỉ cần 72 dpi cho độ phân giải của màn hình và đồ hoạ cũng chỉ cần 256 màu. Một đồ hoạ kích cỡ nhỏ 4" - 2" không nên lớn hơn 10K. Thu nhỏ kích cỡ đồ hoạ, độ sâu của màu. Hãy để chế độ phân giải đồ hoạ và hình ảnh nền ở mức 256 màu. Nếu bạn rất cần một đồ hoạ lớn thì bạn có thể cung cấp cho người xem một hình ảnh nhỏ với nút "phóng to" để xem tiếp một hình ảnh lớn hơn. Quy định cụ thể kích cỡ file đồ họa trong mã HTML. Nếu bạn quy định cụ thể kích cỡ các file đồ hoạ trong mã HTML, trình duyệt web sẽ rút ngắn kích cỡ của trang nếu cần thiết và nơi hình ảnh sẽ xuất hiện, hiển thị văn bản và để một khoảng trống cho file đồ hoạ tải về. Giảm số file trong trang web của bạn (cả file đồ hoạ và HTML kết hợp với nhau). Mọi người luôn xem nhẹ thủ thuật quản lý trang: giảm số file chứa trong website của bạn. Mọi người thuờng có tối đa bốn kết nối (socket) trong trình duyệt web của họ. Mỗi một socket sẽ cho phép chuyển một file về máy tính của bạn, vì thế nếu bạn có 4 socket thì bạn có thể tải cùng lúc 4 file về. Nếu bạn có 6 ảnh trong trang chủ và một file HTML thì tất cả là có 7 file Người soạn: Nguyễn Văn Đại Trang 12
  13. Nguyễn Văn Đại Tự học PHP lập trình web cần phải tải về. Trình duyệt sẽ tải 4 file về trước , sau khi tải xong một file socket sẽ tải tiếp file còn lại. Nói cách khác file thứ 5 sẽ chỉ được tải về khi file thứ nhất được tải xong. Và file thứ 6 sẽ chưa được tải về cho đến khi quá trình tải file thứ hai hoàn thành quá trình tải về có thể kéo dài nếu có quá nhiều file đặc biệt khi những file này rất lớn. Theo như nguyên tắc, (giả sử đồ hoạ của bạn có kích cỡ khiêm tốn 5-12K) bạn hãy cố gắng có duới 5 file mỗi trang. 5. Nội dung không có hình ảnh. Nhiều người sử dụng ảnh "GIFS" và JavaScripts để tạo các logo và ký tự chạy ngang màn hình hay những gì tương tự. Điều này không chỉ làm tăng thời gian tải về mà còn làm người xem xao lãng nội dung bán hàng của bạn. Những người trên Internet là những con người của thông tin vì vậy bạn hãy chắc chắn rằng mình đang dành thời gian cho những thông tin có chất lượng chứ không phải là những hình ảnh vô bổ. Nếu bạn có một nội dung vô giá trong trang web, hãy làm cho nó dễ đọc. Hãy chia thành những đoạn quan trọng, gạch chân hoặc bôi đậm những câu quan trọng trong từng đoạn và bạn đừng ngại trang trí với một số màu. Tô màu văn bản thay thế file đồ hoạ nếu có thể. Nói cách khác thay vì sử dụng một file đồ họa để gây sự chú ý, bạn có thể sử dụng văn bản có màu sắc khác nhau. Có thể bạn muốn cung cấpthông tin miễn phí duới dạng bài báo hay bài phóng sự, và sau đó cố gắng bán hàng. Nếu bạn muốn cung cấp cho người sử dụng những thông tin bổ ích (với mục đích thu hút khách hàng), hãy thêm những nội dung có chất lượng chứ không phải là những hình ảnh bên ngoài. Trong truờng hợp đó một chữ đáng giá hàng nghìn hình ảnh. Thậm chí bạn muốn trang của mình sinh động hơn một chút (có những biểu tượng biến hình, các dòng chữ bôi đậm ) nhằm thu hút mọi người tiếp tục quan tâm tới sản phẩm và dịch vụ của bạn. Công việc của bạn chính là kiểm tra những kết quả mà khách hàng xem đem lại. Tất cả sẽ phụ thuộc vào những sản phẩm và dịch vụ bạn đang bán cũng như đối tượng khách hàng bạn cần tiếp thị hay thị truờng mục tiêu của bạn. Nếu bạn đang tiếp thị cho lớp trẻ thì sự sinh động của website sẽ làm tăng doanh số bán hàng. Nhưng nếu đối tượng khách hàng của bạn chủ yếu là những nhà kinh doanh có trình độ thì yếu tố sinh động đó có thể làm bạn giống như một hoạ sĩ nửa mùa. Đối với đối tượng khách hàng này bạn cần thu hút họ bằng những sự kiện, con số, sự trung thực và những lợi ích rõ ràng. 6. Dễ theo dõi "quá trình bán hàng". Bạn phải tạo điều kiện để khách hàng hiểu rõ những lợi ích của sản phẩm và dịch vụ của bạn đem lại cũng như cung cấp cho khách hàng phương thức đặt hàng thuận tiện nhất. Liệu bạn đã xây dựng được uy tín đối với khách hàng trước khi bạn yêu cầu họ đặt hàng Người soạn: Nguyễn Văn Đại Trang 13
  14. Nguyễn Văn Đại Tự học PHP lập trình web chưa? Bạn đã tạo cho khách hàng sự yêu thích và hứng thú trước khi bạn mời họ đặt hàng chưa?. Bạn đã cung cấp cho khách hàng một số cách đặt hàng thuận tiện cả trên mạng và ngoài mạng chưa?. Và liệu bạn đã huớng dẫn khách xem tất cả từng buớc một chưa?. 7. Tương thích với đa số trình duyệt web. Nếu bạn sử dụng bảng biểu hãy xem xét cẩn thận việc nó sẽ hiển thị như thế nào ở các trình duyệt khác nhau (ví dụ Internet Explorer, Netscape) và ở tất cả các cấp độ phân giải (ví dụ 800 x 600, 1024 x 768, 1280 x 1024, 1400 x 1050). 8. Một số vấn đề quan trọng khác khi thiết kế website. Đọc và kiểm tra cẩn thận tất cả các nội dung. Nếu bạn không quan tâm tới việc kiểm tra lỗi chính tả, người sử dụng sẽ nghi vấn làm sao họ có thể giao tiền của mình cho một công ty không thể tự sửa lỗi chính tả cho trang web của mình?. Hãy nhờ một người bạn hoặc đồng nghiệp đọc và sửa giúp bạn bởi họ có thể tìm thấy những lỗi mà bạn không bao giờ phát hiện ra được. Trước khi đưa mọi việc vào hoạt động bạn cần có một đợt kiểm tra toàn bộ website (các đường liên kết, thời gian tải, form bán hàng ) và cố gắng kiểm tra bằng nhiều phương pháp. Một điều hết sức quan trọng là bạn không nên nói ngay cho người xem biết bạn đang cố gắng bán hàng cho họ. Bất kể bạn đang có sản phẩm gì, cho dù sản phẩm của bạn có tốt như thế nào đi nữa thì hầu hết mọi người sẽ không ở lại trang của bạn nếu họ biết họ đang bị dụ dỗ mua hàng. Bạn cần để họ đọc, nhận ra được những lợi ích bạn sẽ đem lại cho họ và sau đó chỉ nên để họ biết rằng sản phẩm đó đang có bán. Nếu bạn thực hiện được điều này thì có nghĩa là khách hàng sẽ tự tìm thấy và mua sản phẩm bạn cung cấp. Một yếu tố thành công khác trong marketing trực tuyến là bạn phải có khả năng chấp nhận được các giao dịch buôn bán trực tuyến. Khi bạn cung cấp sản phẩm thông tin thì bạn nên chào bán duới dạng điện tử thông qua email. Nếu trang web của bạn lớn hơn 50K thì bạn hãy đặt một ghi chú nhỏ trên cùng của trang để thuyết phục khách hàng nên kiên nhẫn trong khi đồ họa được tải về (câu này sẽ hiện lên khi trang web của bạn tải về). Thậm chí ngay cả khi tại các trang web thử nghiệm mà bạn thấy không mất nhiều thời gian để tải về nhưng bạn cũng cần nhớ rằng khách hàng cũng có thể có đường kết nối chậm do đó làm tăng thời gian tải. Bạn không nên để khách hàng ra đi chỉ vì thời gian tải quá lâu mà bạn không thông báo về việc họ phải đợi. Người soạn: Nguyễn Văn Đại Trang 14
  15. Nguyễn Văn Đại Tự học PHP lập trình web Chương 2: Giới thiệu về ngôn ngữ HTML I. Khái niệm cơ bản về html 1. HTML là gì? HTML (viết tắt cho HyperText Markup Language, tức là "Ngôn ngữ Đánh dấu Siêu văn bản") do Tim Berner Lee phát minh và được W3C (World Wide Web Consortium) đưa thành chuẩn năm 1994. HTML là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web được trình bày trên World Wide Web. 2. Thẻ HTML HTML sử dụng các thẻ (tags) để định dạng dữ liệu. Các thẻ HTML không phân biệt chữ hoa, chữ thường. Các trình duyệt thường không báo lỗi Cú pháp HTML. Nếu viết sai thì kết quả hiển thị không đúng với dự định ban đầu. HTML có 2 loại thẻ: thẻ đóng và thẻ mở – Thẻ mở: Ví dụ 2.1: , , , – Thẻ đóng tương ứng: Ví dụ 2.2: , , , Có nhiều thẻ HTML, mỗi thẻ có 1 tên và mang ý nghĩa khác nhau. * Chú ý: luôn có thẻ mở nhưng có thể không có thẻ đóng tương ứng. Ví dụ: không có thẻ đóng 3. Cần gì để tạo một trang web Có thể tạo trang HTML bằng bất cứ trình soạn thảo nào như Notepad, EditPlus, Có nhiều trình soạn thảo HTML cho phép người sử dụng thực hiện một cách trực quan, kết quả sinh ra HTML tương ứng như: – Microsoft FrontPage, notepad, notepad++ – Macromedia Dreamweaver Trang HTML có phần mở rộng là .htm hoặc .html II. Các thẻ định cấu trúc tài liệu 1. Thẻ html Cặp thẻ này được sử dụng để xác nhận một tài liệu là tài liệu HTML, tức là nó có sử dụng các thẻ HTML để trình bày. Toàn bộ nội dung của tài liệu được đặt giữa cặp thẻ này. Cú pháp: Người soạn: Nguyễn Văn Đại Trang 15
  16. Nguyễn Văn Đại Tự học PHP lập trình web Trình duyệt sẽ xem các tài liệu không sử dụng thẻ như những tệp tin văn bản bình thường. 2. Thẻ head Thẻ head được dùng để xác định phần mở đầu cho tài liệu. Cú pháp: 3. Thẻ title Cặp thẻ này chỉ có thể sử dụng trong phần mở đầu của tài liệu, tức là nó phải nằm trong thẻ phạm vi giới hạn bởi cặp thẻ . Cú pháp: Tiêu đề trang web 4. Thẻ body Thẻ này được sử dụng để xác định phần nội dung chính của tài liệu - phần thân (body) của tài liệu. Trong phần thân có thể chứa các thông tin định dạng nhất định để đặt ảnh nền cho tài liệu, màu nền, màu văn bản siêu liên kết, đặt lề cho trang tài liệu Những thông tin này được đặt ở phần tham số của thẻ. Cú pháp: Trên đây là Cú pháp cơ bản của thẻ body, tuy nhiên bắt đầu từ HTML 3.2 thì có nhiều thuộc tính được sử dụng trong thẻ body. Sau đây là các thuộc tính chính: Background = Đặt một ảnh nào đó làm ảnh nền (background) cho văn bản. Giá trị của tham số này (phần sau dấu bằng) là URL của file ảnh. Nếu kích thước Người soạn: Nguyễn Văn Đại Trang 16
  17. Nguyễn Văn Đại Tự học PHP lập trình web ảnh nhỏ hơn cửa sổ trình duyệt thì toàn bộ màn hình cửa sổ trình duyệt sẽ được lát kín bằng nhiều ảnh. Bgcolor= Đặt mầu nền cho trang khi hiển thị. Nếu cả hai tham số background và bgcolor cùng có giá trị thì trình duyệt sẽ hiển thị mầu nền trước, sau đó mới tải ảnh lên phía trên. Text Xác định màu chữ của văn bản, kể cả các đề mục. Alink = Xác định màu sắc cho các siêu liên kết trong văn bản. Tương ứng, alink Vlink = (active link) là liên kết đang được kích hoạt - tức là khi đã được kích Link = chuột lên; vlink (visited link) chỉ liên kết đã từng được kích hoạt; Như vậy một tài liệu HTML cơ bản có cấu trúc như sau: tiêu đề của tài liệu nội dung của tài liệu III. Các thẻ định dạng khối 1. Thẻ định dạng khối văn bản Thẻ được sử dụng để định dạng một đoạn văn bản. Cú pháp: Nội dung đoạn văn bản 2. Các thẻ định dạng đề mục h1/h2/h3/h4/h5/h6 HTML hỗ trợ 6 mức đề mục. Chú ý rằng đề mục chỉ là các chỉ dẫn định dạng về mặt logic, tức là mỗi trình duyệt sẽ thể hiện đề mục dưới một khuôn dạng thích hợp. Có thể ở trình duyệt này là font chữ 14 point nhưng sang trình duyệt khác là font chữ 20 point. Đề mục cấp 1 là cao nhất và giảm dần đến cấp 6. Thông thường văn bản ở đề mục cấp 5 hay cấp 6 thường có kích thước nhỏ hơn văn bản thông thường. Dưới đây là các thẻ dùng để định dạng văn bản ở dạng đề mục: Định dạng đề mục cấp 1 Định dạng đề mục cấp 2 Định dạng đề mục cấp 3 Định dạng đề mục cấp 4 Người soạn: Nguyễn Văn Đại Trang 17
  18. Nguyễn Văn Đại Tự học PHP lập trình web Định dạng đề mục cấp 5 Định dạng đề mục cấp 6 3. Thẻ xuống dòng Thẻ này không có thẻ kết thúc, nó có tác dụng chuyển sang dòng mới. Lưu ý, nội dung văn bản trong tài liệu HTML sẽ được trình duyệt Web thể hiện liên tục, các khoảng trắng liền nhau, các ký tự tab, ký tự xuống dòng đều được coi như một khoảng trắng. Để xuống dòng trong tài liệu, bạn phải sử dụng thẻ hoặc Ví dụ: Sử dụng thẻ để định dạng xuống dòng văn bản Tên đăng nhập: Mật khẩu: 4. Thẻ pre và thẻ Để giới hạn đoạn văn bản đã được định dạng sẵn bạn có thể sử dụng thẻ hoặc . Văn bản ở giữa hai thẻ này sẽ được thể hiện giống hệt như khi chúng được đánh vào, ví dụ dấu xuống dòng trong đoạn văn bản giới hạn bởi thẻ hoặc sẽ có ý nghĩa chuyển sang dòng mới (trình duyệt sẽ không coi chúng như dấu cách) Cú pháp: Văn bản được định dạng Văn bản được định dạng IV. Các thẻ định dạng danh sách Kiểu 1: Danh sách không sắp xếp Ví dụ: Mục thứ nhất Mục thức hai Kiểu 2: Danh sách có sắp xếp , mỗi mục trong danh sách được sắp xếp thứ tự. Cú pháp: Mục thứ nhất Người soạn: Nguyễn Văn Đại Trang 18
  19. Nguyễn Văn Đại Tự học PHP lập trình web Mục thứ hai Mục thứ ba type =1 Các mục được sắp xếp theo thứ tự 1, 2, 3 =a Các mục được sắp xếp theo thứ tự a, b, c =A Các mục được sắp xếp theo thứ tự A, B, C =i Các mục được sắp xếp theo thứ tự i, ii, iii =I Các mục được sắp xếp theo thứ tự I, II, III Ngoài ra còn thuộc tính START= xác định giá trị khởi đầu cho danh sách. Thẻ có thuộc tính TYPE= xác định ký hiệu đầu dòng (bullet) đứng trước mỗi mục trong danh sách. Thuộc tính này có thể nhận các giá trị : disc (chấm tròn đậm); circle (vòng tròn); square (hình vuông). Ví dụ: Mục thứ nhất Mục thứ hai Mục thứ ba Kiểu 3: Danh sách thực đơn Kiểu 4: Danh sách phân cấp V. Các thẻ định dạng ký tự 1. Các thẻ định dạng in ký tự Sau đây là các thẻ được sử dụng để quy định các thuộc tính như in nghiêng, in đậm, gạch chân cho các ký tự, văn bản khi được thể hiện trên trình duyệt. In chữ đậm In chữ nghiêng In chữ gạch chân In chữ bị gạch ngang. In chữ lớn hơn bình thường bằng cách tăng kích thước font hiện thời lên một. In chữ nhỏ hơn bình thường bằng cách giảm kích thước font hiện thời đi một. Người soạn: Nguyễn Văn Đại Trang 19
  20. Nguyễn Văn Đại Tự học PHP lập trình web Định dạng chỉ số trên (SuperScript) Định dạng chỉ số dưới (SubScript) Định nghĩa kích thước font chữ được sử dụng cho đến hết văn bản. Thẻ này chỉ có một tham số size= xác định cỡ chữ. Thẻ không có thẻ kết thúc. Chọn kiểu chữ hiển thị. Trong thẻ này có thể đặt hai tham số size= hoặc color= xác định cỡ chữ và màu sắc đoạn văn bản nằm giữa hai thẻ. Kích thước có thể là tuyệt đối (nhận giá trị từ 1 đến 7) hoặc tương đối 2. Căn lề văn bản trong trang Web Trong trình bày trang Web của mình các bạn luôn phải chú ý đến việc căn lề các văn bản để trang Web có được một bố cục đẹp. Một số các thẻ định dạng như p, hn, img đều có tham số ALIGN cho phép bạn căn lề các văn bản nằm trong phạm vi giới hạn bởi của các thẻ đó. Các giá trị cho tham số align = “left | center | right”; Ngoài ra, chúng ta có thể sử dụng thẻ center để căn giữa trang một khối văn bản. Cú pháp: Văn bản sẽ được căn giữa trang 3. Các ký tự đặc biệt Ký tự & được sử dụng để chỉ chuỗi ký tự đi sau được xem là một thực thể duy nhất. Ký tự ; được sử dụng để tách các ký tự trong một từ. Ký tự Mã ASCII Tên chuỗi > > & & & 4. Sử dụng màu sắc trong thiết kế các trang Web Một màu được tổng hợp từ ba thành phần màu chính, đó là: Đỏ (Red), Xanh lá cây (Green), Xanh nước biển (Blue). Trong HTML một giá trị màu là một số nguyên dạng hexa (hệ đếm cơ số 16) có định dạng như sau: #RRGGBB trong đó: RR - là giá trị màu Đỏ. GG - là giá trị màu Xanh lá cây. Người soạn: Nguyễn Văn Đại Trang 20
  21. Nguyễn Văn Đại Tự học PHP lập trình web BB - là giá trị màu Xanh nước biển. Màu sắc có thể được xác định qua thuộc tính bgcolor= hay color=. Sau dấu bằng có thể là giá trị RGB hay tên tiếng Anh của màu. Với tên tiếng Anh, ta chỉ có thể chỉ ra 16 màu trong khi với giá trị RGB ta có thể chỉ tới 256 màu. Sau đây là một số giá trị màu cơ bản: Màu sắc Giá trị Tên tiếng Anh Đỏ #FF0000 RED Đỏ sẫm #8B0000 DARKRED Xanh lá cây #00FF00 GREEN Xanh nhạt #90EE90 LIGHTGREEN Xanh nước biển #0000FF BLUE Vàng #FFFF00 YELLOW Vàng nhạt #FFFFE0 LIGHTYELLOW Trắng #FFFFFF WHITE Đen #000000 BLACK Xám #808080 GRAY Nâu #A52A2A BROWN Tím #FF00FF MAGENTA Tím nhạt #EE82EE VIOLET Hồng #FFC0CB PINK Da cam #FFA500 ORANGE Màu đồng phục hải quân #000080 NAVY #4169E1 ROYALBLUE #7FFFD4 AQUAMARINE Cú pháp: phần nội dung của tài liệu được đặt ở đây Một số thuộc tính cơ bản của thẻ body: Các tham số ý nghĩa Người soạn: Nguyễn Văn Đại Trang 21
  22. Nguyễn Văn Đại Tự học PHP lập trình web link Chỉ định màu của văn bản siêu liên kết alink Chỉ định màu của văn bản siêu liên kết đang đang chọn vlink Chỉ định màu của văn bản siêu liên kết đã từng mở background Chỉ định địa chỉ của ảnh dùng làm nền bgcolor Chỉ định màu nền text Chỉ định màu của văn bản trong tài liệu scroll YES/NO - Xác định có hay không thanh cuộn topmargin Lề trên rightmargin Lề phải leftmargin Lề trái 5. Chọn kiểu chữ cho văn bản Cú pháp: 6. Khái niệm văn bản siêu liên kết Văn bản siêu liên kết hay còn gọi là siêu văn bản là một từ, một cụm từ hay một câu trên trang Web được dùng để liên kết tới một trang Web khác. Siêu văn bản là môi trường trong đó chứa các liên kết (link) của các thông tin. Do WWW cấu thành từ nhiều hệ thống khác nhau, cần phải có một quy tắc đặt tên thống nhất cho tất cả các văn bản trên Web. Quy tắc đặt tên đó là URL (Universal Resource Locator). Các thành phần của URL được minh hoạ ở hình trên. Dịch vụ: Là thành phần bắt buộc của URL. Nó xác định cách thức trình duyệt của máy khách liên lạc với máy phục vụ như thế nào để nhận dữ liệu. Có nhiều dịch vụ như http, wais, ftp, gopher, telnet. Tên hệ thống : Là thành phần bắt buộc của URL. Có thể là tên miền đầy đủ của máy phục vụ hoặc chỉ là một phần tên đầy đủ – trường hợp này xảy ra khi văn bản được yêu cầu vẫn nằm trên miền của bạn. Tuy nhiên nên sử dụng đường dẫn đầy đủ. Cổng : Không là thành phần bắt buộc của URL. Cổng là địa chỉ socket của mạng dành cho một giao thức cụ thể. Giao thức http ngầm định nối với cổng 8080. Đường dẫn thư mục : Là thành phần bắt buộc của URL. Phải chỉ ra đường dẫn tới file yêu cầu khi kết nối với bất kỳ hệ thống nào. Có thể đường dẫn trong URL khác với đường dẫn Người soạn: Nguyễn Văn Đại Trang 22
  23. Nguyễn Văn Đại Tự học PHP lập trình web thực sự trong hệ thống máy phục vụ. Tuy nhiên có thể rút gọn đường dẫn bằng cách đặt biệt danh (alias). Các thư mục trong đường dẫn cách nhau bởi dấu gạch chéo (/). Tên file : Không là thành phần bắt buộc của URL. Thông thường máy phục vụ được cấu hình sao cho nếu không chỉ ra tên file thì sẽ trả về file ngầm định trên thư mục được yêu cầu. File này thường có tên là index.html, index.htm, default.html hay default.htm. Nếu cũng không có các file này thì thường kết quả trả về là danh sách liệt kê các file hay thư mục con trong thư mục được yêu cầu Các tham số : Không là thành phần bắt buộc của URL. Nếu URL là yêu cầu tìm kiếm trên một CSDL thì truy vấn sẽ gắn vào URL, đó chính là đoạn mã đằng sau dấu chấm hỏi (?).URL cũng có thể trả lại thông tin được thu thập từ form. Trong trường hợp dấu thăng (#) xuất hiện đoạn mã đăng sau là tên của một vị trí (location) trong file được chỉ ra. Để tạo ra một siêu văn bản chúng ta sử dụng thẻ Một số thuộc tính của thẻ a href Địa chỉ của trang Web được liên kết, là một URL nào đó. name Đặt tên cho vị trí đặt thẻ. tableindex Thứ tự di chuyển khi ấn phím Tab title Văn bản hiển thị khi di chuột trên siêu liên kết. target Mở trang Web được liên trong một cửa sổ mới (_blank) hoặc trong cửa sổ hiện tại (_self), trong một frame (tên frame). 7. Địa chỉ tương đối URL được trình bày ở trên là URL tuyệt đối. Ngoài ra còn có URL tương đối hay còn gọi là URL không đầy đủ. Địa chỉ tương đối sử dụng sự khác biệt tương đối giữa văn bản hiện thời và văn bản cần tham chiếu tới. Các thành phần trong URL được ngăn cách bằng ký tự ngăn cách (ký tự gạch chéo /). Để tạo ra URL tương đối, đầu tiên phải sử dụng ký tự ngăn cách. URL đầy đủ hiện tại sẽ được sử dụng để tạo nên URL đầy đủ mới. Nguyên tắc là các thành phần bên trái dấu ngăn cách của URL hiện tại được giữ nguyên, các thành phần bên phải được thay thế bằng thành phần URL tương đối. Chú ý rằng trình duyệt không gửi URL tương đối, nó bổ sung vào URL cơ sở đã xác định trước thành phần URL tương đối xác định sau thuộc tính href=. Ký tự đầu tiên sau dấu bằng sẽ xác định các thành phần nào của URL hiện tại sẽ tham gia để tạo nên URL mới. Ví dụ, nếu URL đầy đủ là: thì: Dấu hai chấm (:) chỉ dịch vụ giữ nguyên nhưng thay đổi phần còn lại. Ví dụ ://www.fpt.com/ sẽ tải trang chủ của máy phục vụ www.fpt.com với cùng dịch vụ http. Người soạn: Nguyễn Văn Đại Trang 23
  24. Nguyễn Văn Đại Tự học PHP lập trình web Dấu gạch chéo (/) chỉ dịch vụ và máy phục vụ giữ nguyên nhưng toàn bộ đường dẫn thay đổi. Ví dụ /Javascript/index.htm sẽ tải file index.htm của thư mục Javascript trên máy phục vụ www.it-department.vnuh.edu.vn. Không có dấu phân cách chỉ có tên file là thay đổi. Ví dụ index1.htm sẽ tải file index1.htm ở trong thư mục HTML của máy phục vụ www.it-department.vnuh.edu.vn. Dấu thăng (#): chỉ dịch vụ, máy phuc vụ, đường dẫn và cả tên file giữ nguyên, chỉ thay đổi vị trí trong file. Do đường dẫn được xem là đơn vị độc lập nên có thể sử dụng phương pháp đường dẫn tương đối như trong UNIX hay MS-DOS (tức là . chỉ thư mục hiện tại còn chỉ thư mục cha của thư mục hiện tại). URL cơ sở có thể được xác định bằng thẻ . 8. Kết nối mailto Nếu đặt thuộc tính href= của thẻ giá trị mailto:address@domain thì khi kích hoạt kết nối sẽ kích hoạt chức năng thư điện tử của trình duyệt. trang web này được webmaster bảo trì 9. Vẽ một đường thẳng nằm ngang Cú pháp: Một số thuộc tính của thẻ hr align Căn lề (căn trái, căn phải, căn giữa) color Đặt màu cho đường thẳng noshade Không có bóng size Độ dày của đường thẳng width Chiều dài (tính theo pixel hoặc % của bề rộng cửa sổ trình duyệt). Thẻ này giống như thẻ BR, nó cũng không có thẻ kết thúc tương ứng. Người soạn: Nguyễn Văn Đại Trang 24
  25. Nguyễn Văn Đại Tự học PHP lập trình web VI. Các thẻ chèn âm thanh, hình ảnh 1. Giới thiệu Liên kết với file đa phương tiện cũng tương tự như liên kết bình thường. Tuy vậy phải đặt tên đúng cho file đa phương tiện. Phần mở rộng của file phải cho biết kiểu của file. Kiểu Phần mở rộng Mô tả Image/GIF .gif Viết tắt của Graphics Interchange Format. Khuôn dạng này xuất hiện khi mọi người có nhu cầu trao đổi ảnh trên nhiều hệ thống khác nhau. Nó được sử dụng trên tất cả các hệ thống hỗ trợ giao diện đồ hoạ. Định dạng GIF là định dạng chuẩn cho mọi trình duyệt WEB. Nhược điểm của nó là chỉ thể hiện được 256 màu. Mở rộng của chuẩn này là GIF89, được thêm nhiều chức năng cho các ứng dụng đặc biệt như làm ảnh nền trong suốt - tức là ảnh có thể nổi bằng cách làm màu nền giống với màu nền của trình duyệt. Image/JPEG .jpeg Viết tắt của Joint Photographic Expert Group. Là khuôn dạng ảnh khác nhưng có thêm khả năng nén.Ưu điểm nổi bật của khuôn dạng này là lưu trữ được hàng triệu màu và độ nén cao nên kích thước file ảnh nhỏ hơn và thời gian download nhanh hơn. Nó là cơ sở cho khuôn dạng MPEG. Tất cả các trình duyệt đều có khả năng xem ảnh JPEG. Image/TIFF .tiff Viết tắt của Tagged Image File Format. Được Microsoft thiết kế để quét ảnh từ máy quét cũng như tạo các ấn phẩm. Text/HTML .HTML, .htm PostScript .eps, .ps Được tạo ra để hiển thị và in các văn bản có chất lượng cao. Adobe Acrobat .pdf Viết tắt của Portable Document Format. Acrobat cũng sử dụng các siêu liên kết ngay trong văn bản cũng giống như HTML. Từ phiên bản 2.0, các sản phẩm của Acrobat cho phép liên kết giữa nhiều văn bản. Ưu điểm lớn nhất của nó là khả năng WYSISYG. Video/MPEG .mpeg Viết tắt của Motion Picture Expert Group, là định Người soạn: Nguyễn Văn Đại Trang 25
  26. Nguyễn Văn Đại Tự học PHP lập trình web dạng dành cho các loại phim (video). Đây là khuôn dạng thông dụng nhất dành cho phim trên WEB. Video/AVI .avi Là khuôn dnạg phim do Microsoft đưa ra. Video/QuickTime .mov Do Apple Computer đưa ra, chuẩn video này được cho là có nhiều ưu điểm hơn MPEG và AVI. Mặc dù đã được tích hợp vào nhiều trình duyệt nhưng vẫn chưa phổ biến bằng hai loại định dạng trên. Sound/AU .au Là khuôn dạng dành cho âm nhạc điện tử hết sức thông dụng được nhiều trình duyệt trên các hệ thống khác nhau hỗ trợ. File Midi được tổng hợp số hoá trực tiếp từ máy tính. Sound/MIDI .mid Định dạng audio theo dòng. Một bất tiện khi sử dụng các định dạng khác là file âm thanh thường có kích thước lớn - do vậy thời gian tải xuống lâu, Trái lại audio dòng bắt đầu chơi ngay khi tải được một phần file trong khi vẫn tải về các phần khác.Mặc dù file theo định dạng này không nhỏ hơn so với các định dạng khác song chính khả Sound/RealAudio .ram năng dòng đã khiến định dạng này phù hợp với khả năng chơi ngay lập tức. VRML .vrml Viết tắt của Virtual Reality Modeling Language. Các file theo định dạng này cũng giống như HTML. Tuy nhiên do trình duyệt có thể hiển thị được cửa sổ 3 chiều nên người xem có thể cảm nhận được cảm giác ba chiều. 2. Đưa âm thanh vào một tài liệu HTML Cú pháp: Thẻ này không có thẻ kết thúc. Để chơi lặp lại vô hạn cần chỉ định loop = -1 hoặc loop = infinite. Thẻ bgsound phải được đặt trong phần mở đầu (tức là nằm trong cặp thẻ head). 3. Chèn một hình ảnh, một đoạn video vào tài liệu HTML Để chèn một file ảnh (.jpg, .gif, .bmp) hoặc video (.mpg, .avi) vào tài liệu HTML, bạn có thể sử dụng thẻ img. Cú pháp: Người soạn: Nguyễn Văn Đại Trang 26
  27. Nguyễn Văn Đại Tự học PHP lập trình web Một số thuộc tính của thẻ img align = top/ middle/ bottom/ Căn hàng văn bản bao quanh ảnh left/ right alt = text Chỉ định văn bản sẽ được hiển thị nếu chức năng show picture của browser bị tắt đi hay hiển thị thay thế cho ảnh trên những trình duyệt không có khả năng hiển thị đồ hoạ. Văn bản này còn được gọi là nhãn của ảnh. Đối với trình duyệt có khả năng hỗ trợ đồ hoạ, dòng văn bản này sẽ hiện lên khi di chuột qua ảnh hay được hiển thị trong vùng của ảnh nếu ảnh chưa được tải về hết. Chú ý phải đặt văn bản trong hai dấu nháy kép nếu triong văn bản chứa dấu cách hay các ký tự đặc biệt - trong trường hợp ngược lại có thể bỏ dấu nháy kép. border = n Đặt kích thước đường viền được vẽ quanh ảnh (tính theo pixel). src = url Địa chỉ của file ảnh cần chèn vào tài liệu. width/height Chỉ định kích thước của ảnh được hiển thị. hspace/vspace Chỉ định khoảng trống xung quanh hình ảnh (tính theo pixel) theo bốn phía trên, dưới, trái, phải. title = title Văn bản sẽ hiển thị khi con chuột trỏ trên ảnh dynsrc = url Địa chỉ của file video. start = fileopen/mouseover Chỉ định file video sẽ được chơi khi tài liệu được mở hay khi trỏ con chuột vào nó. Có thể kết hợp cả hai giá trị này nhưng phải phân cách chúng bởi dấu phẩy. loop = n/infinite Chỉ định số lần chơi. Nếu LOOP = INFINITE thì file video sẽ được chơi vô hạn lần. VII. Các thẻ định dạng bảng biểu Sau đây là các thẻ tạo bảng chính: Định nghĩa một bảng Định nghĩa một hàng trong bảng Định nghĩa một ô trong hàng Định nghĩa ô chứa tiêu đề của cột Tiêu đề của bảng Cú pháp: định nghĩa các dòng Người soạn: Nguyễn Văn Đại Trang 27
  28. Nguyễn Văn Đại Tự học PHP lập trình web định nghĩa các ô trong dòng nội dung của ô ý nghĩa các tham số: align / valign Căn lề cho bảng và nội dung trong mỗi ô. border Kích thước đường kẻ chia ô trong bảng, được đo theo pixel. Giá trị 0 có nghĩa là không xác định lề, giữa các ô trong bảng chỉ có một khoảng trắng nhỏ để phân biệt. Nếu chỉ để border thì ngầm định border=1. Với những bảng có cấu trúc phức tạp, nên đặt lề để người xem có thể phân biệt rõ các dòng và cột. bordercolor Màu đường kẻ bordercolordark Màu phía tối và phía sáng cho đường kẻ nổi. bordercolorlight background Địa chỉ tới tệp ảnh dùng làm nền cho bảng bgcolor Màu nền cellspacing Khoảng cách giữa các ô trong bảng cellpadding Khoảng cách giữa nội dung và đường kẻ trong mỗi ô của bảng. colspan Chỉ định ô sẽ kéo dài trong bao nhiêu cột rowspan Chỉ định ô sẽ kéo dài trong bao nhiêu hàng VIII. FORM Form HTML là một phần của tài liệu, nó chứa các phần tử đặc biệt gọi là các điều khiển. Các điều khiển được sử dụng để nhập thông tin từ người dùng và cung cấp một số tương tác. Các form cho phép người sử dụng nhập dữ liệu trên trang web thông qua các điểu khiển (control). Dữ liệu này có thể được xác nhận hợp lệ từ phía máy khách và được chuyển đến máy chủ để xử lý thêm. Tất cả các điều khiển đều có tên được quy định qua thuộc tính name. Một số điều khiển không cần lấy dữ liệu thì thuộc tính name không quan trọng Sau đây ta sẽ tìm hiểu về các loại điều khiển Người soạn: Nguyễn Văn Đại Trang 28
  29. Nguyễn Văn Đại Tự học PHP lập trình web X Hồ Diên Lợi 1. Form From dùng để chứa mọi đối tượng khác. Để tạo form ta dùng thẻ: Một số thuộc tính của form: – name=“tên_form” – action=“địa chỉ nhận dữ liệu” – method=“phương thức gửi dữ liệu”: o GET : thông tin xử lý theo phương thức get được hiển thị lên url o POST: thông tin xử lý theo phương thức post không hiển thị lên url 2. Hộp nhập văn bản 1 dòng (Oneline Textbox) Oneline Textbox dùng để nhập các văn bản ngắn (trên 1 dòng) hoặc mật khẩu, sử dụng thẻ để đưa vào form Các thuộc tính: – name=“tên_đt” – type=“text”: nhập văn bản thường – type=“password”: nhập mật khẩu – value=“giá trị mặc định” Ví dụ 14 Registered form Registered form User name: Password: Người soạn: Nguyễn Văn Đại Trang 29
  30. Nguyễn Văn Đại Tự học PHP lập trình web 3. Radio Button Radio button cho phép chọn một lựa chọn trong một nhóm lựa chọn được đưa ra. Các điều khiển radio trong một nhóm phải có cùng tên. Vào một thời điểm, người dùng chỉ có thể chọn một lựa chọn. Các nút radio nên đặt thuộc thuộc tính giá trị. Sử dụng thẻ để đưa đối tượng radio vào form, mỗi ô cần 1 thẻ Thuộc tính: – name=“tên_đt”: Các đối tượng cùng tên thì thuộc cùng nhóm. – type=“radio” – value=“giá trị”: đây là giá trị chương trình sẽ nhận được nếu ta chọn ô này. – checked: nếu có thì nút này mặc định được chọn 4. Checkbox Checkbox cho phép người dùng có thể chọn một hoặc nhiều lựa chọn trong một nhóm lựa chọn được đưa ra bằng cách đánh dấu tích. Sử dụng thẻ để đưa đối tượng checkbox vào form, mỗi ô cần 1 thẻ Thuộc tính: – name=“tên_đối_tượng” – type=“checkbox” – value=“giá trị”: đây là giá trị chương trình sẽ nhận được nếu nó được chọn – checked: nếu có thì nút này mặc định được chọn 5. Nút lệnh (Button) Cho phép người sử dụng ra lệnh thực hiện một số công việc nào đó. Có 3 loại nút thường dùng – submit: khi người dùng nhấp vào nút submit, dữ liệu tự động được chuyển đến vị trí được xác định trong thuộc tính ACTION – reset: đưa mọi dữ liệu về trạng thái mặc định – normal: người lập trình tự xử lý Đưa đối tượng button vào form ta dùng thẻ Thuộc tính: – name=“tên_đối_tượng” – type=“submit”: nút submit Người soạn: Nguyễn Văn Đại Trang 30
  31. Nguyễn Văn Đại Tự học PHP lập trình web – type=“reset”: nút reset – type=“button”: nút thông thường (normal) – value=“tiêu đề nút” 6. Combo Box (Drop-down menu) Combo box gồm một danh sách có nhiều phần tử, ta có thể chọn 1 phần tử trong danh sách xổ xuống bằng cách kích vào mũi tên bên phải hộp danh sách. Tại một thời điểm chỉ có 1 phần tử được chọn Thẻ tạo hộp danh sách: Danh sách phần tử Thuộc tính: – name=“tên_đối_tượng” Thẻ tạo 1 phần tử trong danh sách: Tiêu đề phần tử Thuộc tính: – value=“giá trị”: giá trị chương trình nhận được nếu phần tử được chọn – selected: nếu có thì phần tử này mặc định được chọn 7. Listbox Tương tự như combobox, listbox là một danh sách gồm nhiều phần tử, tuy nhiên ta có thể nhìn thấy và lựa chọn các phần tử cùng một lúc Thẻ tạo listbox: Thuộc tính: tương tự như combobox nhưng có 2 thuộc tính khác: – size=“số dòng” – multiple: cho phép lựa chọn nhiều phần tử cùng lúc Thẻ tạo 1 phần tử trong danh sách: Tiêu đề phần tử Thuộc tính: – value=“giá trị”: giá trị chương trình nhận được nếu phần tử được chọn – selected: nếu có thì phần tử này mặc định được chọn Người soạn: Nguyễn Văn Đại Trang 31
  32. Nguyễn Văn Đại Tự học PHP lập trình web 8. Hộp nhập văn bản nhiều dòng (TextArea) Textarea cho phép người dùng nhập văn bản dài trên nhiều dòng. Thẻ tạo textarea: Nội dung mặc định Các thuộc tính: – name=“tên_đối_tượng” – rows=“số dòng” – cols=“số cột” Trong đó: – rows: số dòng văn bản – cols: số ký tự chuẩn trên dòng. Ví dụ 15: Registered form Registered form User name: Password: Sex: Male Female What do you like the following option: Cash: Cheque: Debit card: Country America England France VietNam Which country do you like to travel: Người soạn: Nguyễn Văn Đại Trang 32
  33. Nguyễn Văn Đại Tự học PHP lập trình web America England France VietNam Other information Kết quả hiển thị trên trình duyệt Người soạn: Nguyễn Văn Đại Trang 33
  34. Nguyễn Văn Đại Tự học PHP lập trình web IX. Một số thẻ đặc biệt 1. Thẻ Thẻ được khái báo trong cặp thẻ , thẻ thường được sử dụng để khái báo loại font sử dụng, tìm kiếm, xóa cache, chuyển trang a. Thẻ với font Để sử dụng font Unicode đặc biệt Unicode tiếng việt trên trang web, chúng ta phải khai báo thẻ trong thẻ . b. Thẻ cho phép người dùng tìm kiếm. Khi bạn đưa trang web của bạn lên internet, để người dùng có thể tìm thấy web site của bạn qua các công cụ trên như: Google, Yahoo , khi đó chúng ta khai báo thẻ như sau Bạn có thể khái báo các thông tin khác của trang web để khi người dùng có thể tìm kiếm thông qua các thông tin này. Các từ khóa này sẽ được đem so sánh với các từ khóa người dùng gõ và tìm kiếm trên Internet, nếu từ khóa người dùng tìm kiếm thuộc một trong số từ khóa của bạn đã khai báo trong thẻ này, web site của bạn sẽ được xuất hiện trong danh sách tìm kiếm được. c. Thẻ dạng tự động chuyển đến URL Để tự động chuyển đến địa chỉ URL hay UNC kế tiếp sau khi trang web nạp lên với thời gian nhất định, bạn có thể khái báo trong thẻ JavaScript. Ví dụ: Welcome to PHP and MySQL Trang này tự động chuyển đến trang www.saigoninfotech.com sau 8 giây Người soạn: Nguyễn Văn Đại Trang 34
  35. Nguyễn Văn Đại Tự học PHP lập trình web d. Thẻ dùng xóa cache Thông thường sau khi nạp trang web nào đó lên trình duyệt web, nội dung của trang web đó có thẻ lưu vào trong bộ nhớ truy cập nhanh (cache). Điều này có nghĩa là sau khi duyệt một vòng các trang web khác, bạn quay về gọi trang web đã truy cập trước đó, trình duyệt web nạp rất nhanh, do chúng đã lưu trang trong bộ nhớ cache. Tuy nhiên, khi bạn là người phát triển ứng dụng web, có những trang web bạn phải xóa cache mỗi khi người dùng gọi nó. Nghĩa là, trang web này thường có thay đổi cấu trúc cho mỗi lần gọi, bạn cần khai báo thẻ như ví dụ sau: Ví dụ: Welcome to PHP and MySQL Xoa Cache 2. Thẻ Thẻ cho phép bạn khái báo một chuổi chuyển động theo chiều hướng khác nhau trên trang web. Thẻ này thường được sử dụng để quảng cáo một đề tài nào đó. Có 4 chiều di chuyển của chuổi, bạn có thể khái báo tùy thuộc vào các tham số UP, DOWN, BACK, RIGHT của thuộc tính DIRECTION. Ví dụ: Welcome to php and mysql Người soạn: Nguyễn Văn Đại Trang 35
  36. Nguyễn Văn Đại Tự học PHP lập trình web ashley- ana - chanthaly - kathleen - lena ashley ana chanthaly kathleen lena 3. Thẻ Thẻ cho phép bạn định dạng tất cả nội dung trình bày trên trang web theo một kiểu nhất định. Điều này có nghĩa là mọi thẻ trên trang web có khai báo sử dụng một phần tử nào đó được khái báo thẻ , chúng sẽ có kiểu định dạng như bạn định nghĩa. Bạn khái báo thẻ trong thẻ . Ví dụ: Định dạng style, chèn ảnh nền và đặt hình nền không lặp. background-image: url(“hinhnen.gif”); background-repeat: no-repeat; 4. Thẻ Khi khai báo các phần tử trong trang style.css, bạn có thể khái báo chúng trong một trang web bằng thẻ . Để sử dụng bạn cũng khái báo như trường hợp sử dụng phần tử trong ví dụ sau: Ví dụ: Chèn tyle.css vào trong tài liệu html Người soạn: Nguyễn Văn Đại Trang 36
  37. Nguyễn Văn Đại Tự học PHP lập trình web 5. Thẻ Trong trang web, bạn muốn kiểm soát tất cả các hành động của người dùng, bạn cần khái báo vá sử dụng một số phương thức và thuộc tính của Client Script hay các phương thức do bạn định nghĩa. Để có thể khái báo kịch bản trên trang web, bạn sử dụng thẻ với tên ngôn ngữ chỉ định JavaScript hay VBScript. Cú pháp: // mã javascript // mã vbscript Ngoài ra trong trường hợp có nhiều phương thức do bạn định nghĩa được sử dụng chung trong nhiều trang web, bạn cũng có thể khai báo chúng trong một tập tin có tên mở rộng .js hay .vb. Sau đó bạn có thẻ chèn tập tin này và sử dụng như cách chèn trực tiếp. Người soạn: Nguyễn Văn Đại Trang 37
  38. Nguyễn Văn Đại Tự học PHP lập trình web Chương 3: Thiết kế CSS I. Giới thiệu về CSS CSS (Cascading Style Sheets) được hiểu một cách đơn giản đó là cách mà chúng ta thêm các kiểu hiển thị (font chữ, kích thước, màu sắc ) cho một tài liệu Web Một số đặc điểm của Cascading Style Sheets: - CSS quy định cách hiển thị của các thẻ HTML bằng cách quy định các thuộc tính của các thẻ đó (font chữ, màu sắc). Để cho thuận tiện bạn có thể đặt toàn bộ các thuộc tính của thẻ vào trong một file riêng có phần mở rộng là ".css" - CSS nó phá vỡ giới hạn trong thiết kế Web, bởi chỉ cần một file CSS có thể cho phép bạn quản lí định dạng và layout trên nhiều trang khác nhau. Các nhà phát triển Web có thể định nghĩa sẵn thuộc tính của một số thẻ HTML nào đó và sau đó nó có thể dùng lại trên nhiều trang khác. - Có thể khai báo CSS bằng nhiều cách khác nhau. Bạn có thể đặt đoạn CSS của bạn phía trong thẻ , hoặc ghi nó ra file riêng với phần mở rộng ".css", ngoài ra bạn còn có thể đặt chúng trong từng thẻ HTML riêng biệt - Tuy nhiên tùy từng cách đặt khác nhau mà độ ưu tiên của nó cũng khác nhau. Mức độ ưu tiên của CSS sẽ theo thứ tự sau. Style đặt trong từng thẻ HTML riêng biệt Style đặt trong phần Style đặt trong file mở rộng .css Style mặc định của trình duyệt Mức độ ưu tiên sẽ giảm dần từ trên xuống dưới. CSS có tính kế thừa: giả sử rằng bạn có một thẻ đã được khai báo ở đầu file css với các thuộc tính như sau: #vidu { width: 200px; height: 300px; Người soạn: Nguyễn Văn Đại Trang 38
  39. Nguyễn Văn Đại Tự học PHP lập trình web } Ở một chỗ nào đó trong file css bạn lại khai báo một lần nữa thẻ với các thuộc tính. #vidu { width: 400px; background-color: #CC0000; } Sau đoạn khai báo này thì thẻ sẽ có thuộc tính: #vidu { width: 400px; /* Đè lên khai báo cũ */ height: 300px; background-color: #CC0000; } II. Cú pháp 1. Định dạng thuộc tính thẻ html Các thuộc tính của thẻ html không được phong phú và đa dạng do vậy chúng ta có thể thay đổi lại thuộc tính mặc định của thẻ. Chúng ta có thể định dạng các thẻ ngay trên tài liệu html bằng thẻ hoặc được định dạng trong một tập tin khác sau đó chèn vào tài liệu html. Cú pháp: name_tag { property_1: values; property_2: values; } Ví dụ: Định dạng hình nền và các thuộc tính khác body { background-image: url(“images\background_image.gif”); background-repeat: no-repeat; } Người soạn: Nguyễn Văn Đại Trang 39
  40. Nguyễn Văn Đại Tự học PHP lập trình web 2. Định dạng một kiểu mới a. Kiểu được chèn vào thẻ html bằng thuộc tính class của thẻ Chúng ta có thể định dạng một kiểu riêng trong tài liệu html hoặc trong một tập tin riêng. Sau đó đưa định dạng đó vào trong thể html bằng thuộc tính class của thẻ. Cú pháp: .name_style { property_1: values; property_2: values; } Ví dụ: Định dạng thuộc tính hình nền trang web . mystyle { background-image: url(“images\background_image.gif”); background-repeat: no-repeat; } Sau đó, ta áp dụng định dạng trên vào thẻ b. Kiểu được chèn vào thẻ html bằng thuộc tính id của thẻ Chúng ta có thể định dạng một kiểu riêng trong tài liệu html hoặc trong một tập tin riêng. Sau đó đưa định dạng đó vào trong thể html bằng thuộc tính Id của thẻ. Cú pháp: # name_style { property_1: values; property_2: values; } Ví dụ: Định dạng thuộc tính hình nền trang web # mystyle { Người soạn: Nguyễn Văn Đại Trang 40
  41. Nguyễn Văn Đại Tự học PHP lập trình web background-image: url(“images\background_image.gif”); background-repeat: no-repeat; } Sau đó, ta áp dụng định dạng trên vào thẻ 3. Định dạng ngay trong thẻ html Ngoài các cách trên, chúng ta có thể định dạng kiểu trên thẻ html. Cú pháp: Ví dụ: Nội dung tài liệu html III. Sử dụng css trong tài liệu HTML 1. CSS được khai báo trong một tập tin riêng Khi xây dựng website các trang web thường có những định dạng giống nhau tạo nên sự thống nhất của một website ví dụ như: Màu nền hay hình nền, các kiểu định dạng chữ, ký tự Nếu trang nào ta cũng sử dụng kiểu định dạng này, khi đó ta thấy mã lệnh trong một website được lặp đi lặp lại nhiều lần trên nhiều trang khác nhau. Khi người dùng muốn thay đổi kiểu dáng hay định dạng của website người dùng chỉ cần thay đổi kiểu trong tập tin riêng này, khi đó toàn bộ trang website sẽ thay đổi theo. Để chèn tập tin riêng chúng ta sử dụng thể trong vùng thẻ 2. Định dạng ngay trên tài liệu html Thường chúng ta thường định dạng css trong vùng thẻ head sử dụng thẻ Người soạn: Nguyễn Văn Đại Trang 41
  42. Nguyễn Văn Đại Tự học PHP lập trình web Cú pháp: IV. Một số thuộc tính thường dùng 1. Định kiểu nền a. Màu nền Để xác lập màu nền cho một thành phần của trang web ta sử dụng thuộc tính background-color. Các giá trị màu của background-color tương tự như color. Ví dụ 4: Mở file style.css ở trên thêm vào các thuộc tính màu nền như sau: body { background-color:#000000;} p{ background-color:#6495ed; color:#ffffff; } h1 { background-color:#009fff; } div { background-color:#ffbf00; } Kết quả hiển thị b. Ảnh nền Để chèn ảnh nền vào một thành phần trên trang web chúng ta sử dụng thuộc tính background-image. Theo mặc định, ảnh nền sẽ được lặp lại để phủ kín toàn bộ trang web Ví dụ 5 Mở file style.css ở trên và thay đổi nền cho trang web như sau Người soạn: Nguyễn Văn Đại Trang 42
  43. Nguyễn Văn Đại Tự học PHP lập trình web body { background-image:url(page_bg.jpg); } Lưu lại và xem kết quả Lưu ý: Để tiện cho sự quản lý các file trong website, ta nên tạo một thư mục images riêng để chứa hình ảnh. Khi đó, đường dẫn trong url như sau: background-image:url(images/page_bg.jpg); Lặp lại ảnh nền: Thuộc tính background-repeat cung cấp cho chúng ta các điều khiển giúp kiểm soát trình trạng lặp lại của ảnh nền. Thuộc tính này có 4 giá trị: – repeat-x: Chỉ lặp lại ảnh theo phương ngang. – repeat-y: Chỉ lặp lại ảnh theo phương dọc. – repeat: Lặp lại ảnh theo cả 2 phương, đây là giá trị mặc định. – no-repeat: Không lặp lại ảnh. Ví dụ 6 Mở file style.css ở trên và sửa lại như sau body { background-image:url(page_bg.jpg); background-repeat:no-repeat; } Lưu lại và xem kết quả. Định vị ảnh nền Theo mặc định, ảnh nền khi được chèn sẽ nằm ở góc trên, bên trái màn hình. Tuy nhiên với thuộc tính background-position ta có thể đặt ảnh nền ở bất cứ vị trí nào trong không gian của thành phần mà nó làm nền. Ví dụ 7: Người soạn: Nguyễn Văn Đại Trang 43
  44. Nguyễn Văn Đại Tự học PHP lập trình web Mở file style.css và sửa lại như sau body { background-image:url(page_bg.jpg); background-repeat:no-repeat; background-position:top right; } Mở trình duyệt và xem kết quả 2. Định kiểu chữ a. Màu chữ Sử dụng thuộc tính color để định dạng màu cho chữ trong CSS. Có nhiều cách để xác định giá trị của thuộc tính color – Tên màu: red, blue, yellow, – Giá trị RGB: rgb(255,0,0) – Giá trị HEX: #ff0000 Ví dụ 8: body {color:blue} h1 {color:#00ff00} h2 {color:rgb(255,0,0)} b. Canh lề: Sử dụng thuộc tính text-align để canh chỉnh văn bản cho các thành phần trong trang web. Text-align có 4 giá trị : – left (canh trái – mặc định) – right (canh phải) – center (canh giữa) – justify (canh đều). Ví dụ 9 h1 { text-align:right } p { text-align:justify } c. Trang trí chữ Thuộc tính text-decoration dùng để thiết lập hay xóa các trang trí cho chữ Text-decoration thường được dùng để xóa hiệu ứng gạch chân của link cho mục đích trang trí Người soạn: Nguyễn Văn Đại Trang 44
  45. Nguyễn Văn Đại Tự học PHP lập trình web Text-decoration thêm các hiệu ứng gạch chân (underline), gạch xiên (line-through), gạch đầu (overline), và một hiệu ứng đặc biệt là văn bản nhấp nháy (blink). Ví dụ 10: a {text-decoration:none} h1 { text-decoration:underline } h2 { text-decoration:overline} d. Chuyển đổi chữ hoa/thường Để chuyển đổi kiểu chữ hoa/thường ta dùng thuộc tính text-transform. Thuộc tính này có tất cả 4 giá trị: – uppercase (in hoa) – lowercase (in thường) – capitalize (in hoa ký tự đầu tiên trong mỗi từ) – none (không áp dụng hiệu ứng – mặc định). Ví dụ 11 p { text-transform:uppercase } h1 { text-transform:capitalize } e. Thuộc tính letter-spacing: Thuộc tính letter-spacing được dùng để định khoảng cách giữa các ký tự trong một đoạn văn bản. Ví dụ 12 p { letter-spacing:3px } h1{ letter-spacing:5px } 3. Định kiểu font a. Tên font (font-family) Thuộc tính font-family xác định các font sẽ được dùng để hiển thị trên trang web. Có hai loại tên font được dùng để chỉ định trong font-family: – generic family – font family Generic family: Generic family là tên của một họ gồm nhiều font. Ví dụ: – serif o Times New Roman, Bodini, Garamond – sans-serif o Trebuchet, Arial, Verdana, Futura, Gill Sans, Helvetica Người soạn: Nguyễn Văn Đại Trang 45
  46. Nguyễn Văn Đại Tự học PHP lập trình web – cursive o Poetica, Zapf-Chancery, Roundhand, Script – fantasy o Critter, Cottonwood – monospace o Courier, Courier New, Prestige, Everson Mono Font family: Font family là tên cụ thể của một font. Ví dụ: Arial, Verdana, Time New Roman, Ví dụ 13 font-family Example body {font-size: 30px} Định dạng font- family:Time New Roman, Times, seriff Định dạng font-family:Time New Roman, Times, seriff Kết quả hiển thị b. Kiểu font (font style) Thuộc tính font style gồm 3 giá trị: – Normal: in thườngg – Italic: in nghiêng – Oblique: tương tự như italic Người soạn: Nguyễn Văn Đại Trang 46
  47. Nguyễn Văn Đại Tự học PHP lập trình web Ví dụ 14 h1 { font-style: italic } p { font-style: normal } c. Cỡ font (font size) Kích thước của một font được định bởi thuộc tính font-size. Font-size cung cấp 7 giá trị cho việc thiết lập size của font từ nhỏ nhất cho đến lớn nhất: xx-small, x-small, small, medium, large, x-large and xx-large. Chúng tương đương với giá trị của thẻ với size="1" tới size="7". Ngoài ra các đơn vị dùng cho font thường là: pixel, em, % Tùy theo mục đích sử dụng của website mà ta chọn những đơn vị phù hợp. Ví dụ 15 font-size Example Định dạng font-size:small. Định dạng font-size với chiều cao 25 pixels in height Định dạng font-size:2em Định dạng font-size: 200% Kết quả hiển thị Người soạn: Nguyễn Văn Đại Trang 47
  48. Nguyễn Văn Đại Tự học PHP lập trình web d. Thuộc tính font-weight: Thuộc tính font-weight mô tả cách thức thể hiện của font chữ là ở dạng bình thường (normal) hay in đậm (bold). Ngoài ra, một số trình duyệt cũng hỗ trợ mô tả độ in đậm bằng các con số từ 100 – 900. Ví dụ 16 font-weight Example 2 body {font-weight: 600; font-size: 45px} This text should be rendered in a bold font. This text should be bolder than the previous line of text. This text should be lighter than the first line of text. Người soạn: Nguyễn Văn Đại Trang 48
  49. Nguyễn Văn Đại Tự học PHP lập trình web 4. CSS Link Trong CSS, ta có thể áp dụng các thuộc tính định dạng như font chữ, gạch chân, màu chữ, cho một liên kết. Ngoài ra, CSS còn cung cấp một số hiệu ứng định dạng cho một đối tượng liên kết ở một trạng thái xác định như : – Liên kết chưa được thăm (a:link) – Rê chuột lên liên kết (a:hover) – Liên kết được thăm (a:visited) – Liên kết đang được kích hoạt – đang giữ nhấn chuột (a:active) Ví dụ 17 a:link {color:#00FF00; font-size:14px; text-decoration:none;} a:hover { color:#FF00FF; font-size:1.2em; text-decoration:blink;} a:visited { color:#FF0000; text-decoration:none; background-color:#ff704d; } a:active { color:# 662D91; font-variant:small-caps; } 5. Định kiểu danh sách CSS cũng cung cấp một số thuộc tính để định dạng danh sách, làm việc trình bày trang web trở nên phong phú hơn. Các thuộc tính về danh sách của CSS cho phép ta: – Định dạng kí hiệu cho danh sách có thứ tự – Định dạng kí hiệu cho danh sách không thứ tự – Dùng hình ảnh đánh dấu danh sách Thuộc tính list-style-type cho phép ta định dạng các kí hiệu đầu danh sách Ví dụ 18 ul{color:#D40000;} ol{color:#2AFF55;} Người soạn: Nguyễn Văn Đại Trang 49
  50. Nguyễn Văn Đại Tự học PHP lập trình web Example of unordered lists: Coffee Tea Coca Cola Example of ordered lists: Coffee Tea Coca Cola Example of ordered lists: Coffee Tea Coca Cola Kết quả Người soạn: Nguyễn Văn Đại Trang 50
  51. Nguyễn Văn Đại Tự học PHP lập trình web 6. Định kiểu bảng Với CSS, ta có thể thay đổi định dạng các thuộc tính của bảng như đường biên, độ rộng, độ cao của cột, màu, Các thuộc tính CSS dùng làm việc với bảng : a. Border: Dùng để định độ rộng đường viền của bảng Ví dụ 19 table, th, td { border: 1px solid black; } Border-collapse: có 3 giá trị – Collapse: cho phép ta trộn các đường biên trong bảng – Separate: cho phép ta tách các đường biên trong bảng – Inherit:tương tự separate Ví dụ 20 border-collapse Example Người soạn: Nguyễn Văn Đại Trang 51
  52. Nguyễn Văn Đại Tự học PHP lập trình web th {border: 10px solid navy; font: bold 25px Arial, Helvetica, sans-serif} td {border: 5px solid black; font: bold 20px Arial, Helvetica, sans-serif} body {font: bold 20px Arial, Helvetica, sans-serif} Table set to border-collapse: collapse Item Description Price Widget White, with black stripes $2.50 Thingamabob Perfect for your thing bobbing needs $0.25 Doofinkle You know what do with this $1.35 Table set to border-collapse: separate Item Description Price Widget White, with black stripes $2.50 Người soạn: Nguyễn Văn Đại Trang 52
  53. Nguyễn Văn Đại Tự học PHP lập trình web Thingamabob Perfect for your thing bobbing needs $0.25 Doofinkle You know what do with this $1.35 Kết quả hiển thị b. Width: Định độ rộng của bảng, cột, ô c. Height: Định độ cao của bảng, cột, ô Ví dụ 21 table { width:100%;} th { height:50px; } Người soạn: Nguyễn Văn Đại Trang 53
  54. Nguyễn Văn Đại Tự học PHP lập trình web d. Text-align: Căn lề cho text theo phương ngang trong ô của bảng gồm các giá trị như left, right, center e. Vertical-align: Căn lề cho text theo phương đứng trong ô của bảng gồm các giá trị như top, bottom, middle Ví dụ 22: table, td, th { border:1px solid black;} td{ height:50px;} Firstname Lastname Savings Peter Griffin $100 Lois Griffin $150 Joe Swanson $300 Cleveland Brown $250 Người soạn: Nguyễn Văn Đại Trang 54
  55. Nguyễn Văn Đại Tự học PHP lập trình web Kết quả hiển thị f. Padding: Xác định khoảng cách giữa text và đường biên của ô trong bảng Ví dụ 23: td{ padding:15px; } g. Background-color: Màu nền ô h. Color: Màu chữ Ví dụ 24: table, td, th { border:1px solid green; } th { background-color:green; color:white; } Firstname Lastname Savings Peter Griffin $100 Người soạn: Nguyễn Văn Đại Trang 55
  56. Nguyễn Văn Đại Tự học PHP lập trình web 7. Thuộc tính Id và class của thẻ Khi áp dụng một thuộc tính CSS cho một thành phần như p, a, img, thì toàn bộ các thành phần này trong trang web đều nhận thuộc tính này. Nếu ta muốn một thành phần nào đó như liên kết trên menu có các thuộc tính khác với liên kết trong phần nội dung thì ta sẽ nhóm các thuộc tính đó vào trong id hoặc class a. Thuộc tính Id Id được dùng cho một đối tượng riêng biệt, và được xác định bởi ký hiệu "#". Ví dụ 25 #para1 { text-align:center; color:red; } #para1 a { text-decoration:none; color:#2e260f; font-weight:bold; font-style:italic; font-size:14px; } This is paragraph 1. Người soạn: Nguyễn Văn Đại Trang 56
  57. Nguyễn Văn Đại Tự học PHP lập trình web This paragraph is not affected by the style. b. Thuộc tính Class Class được dùng để nhóm một số thành phần có những thuộc tính đặc biệt. Nhưng khác với id, class được sử dụng cho nhiều đối tượng khác nhau và được xác định bởi ký hiệu "." Ví dụ sau sẽ cho thấy rõ hơn sự khác biệt giữa id và class Ví dụ 26 #flower {color:#ff0000;} #flower p{ color:#ff3faa;} .fruit { color:#0000FF } Flowers List Rose Sun Flower Lily Fruits List Apple Orange Mango Người soạn: Nguyễn Văn Đại Trang 57
  58. Nguyễn Văn Đại Tự học PHP lập trình web Tamarind Grape Banana * Lưu ý: không nên dùng kí tự đầu là chữ số đặt tên cho class và id 8. Mô hình hộp Top Margin Border Padding Left Right Content Trong CSS, box model (mô hình hộp) mô tả cách mà CSS địnhBottom dạng khối không gian bao quanh một thành phần. Nó bao gồm padding (vùng đệm), border (viền) và margin (canh lề) và các tùy chọn. Hình bên dưới mô tả cấu trúc minh họa mô hình hộp cho một thành phần web. Người soạn: Nguyễn Văn Đại Trang 58
  59. Nguyễn Văn Đại Tự học PHP lập trình web a. Thuộc tính margin: Thuộc tính margin được dùng để canh lề cho một thành phần web hay cả trang web so với các đối tượng bên ngoài. Các thuộc tính về margin gồm: – margin-top – margin-right – margin-bottom – margin-left Các đơn vị được dùng với thuộc tính margin: – Auto: trình duyệt tự động thiết lập margin. Kết quả được thể hiện tùy thuộc vào trình duyệt – Pixel, pt, em, : thiết lập khoảng cách lề theo độ dài – %: thiết lập khoảng cách lề theo phần trăm Ví dụ 27 Body { margin-top:80px; margin-bottom:40px; margin-left:50px; margin-right:30px; border:1px dotted #FF0000 } Hoặc: body { margin:80px 30px 40px 50px; border:1px dotted #FF0000 } b. Thuộc tính padding Thuộc tính padding dùng để tạo khoảng cách giữa các nội dung bên trong với đường biên của khối. Các thuộc tính về padding gồm: – padding-top – padding-right – padding-bottom – padding-left. Các đơn vị được dùng với thuộc tính padding: %, px, pt, em, Ví dụ 28 Người soạn: Nguyễn Văn Đại Trang 59
  60. Nguyễn Văn Đại Tự học PHP lập trình web .padding { border:1px solid #000000; padding: 10px 20px 20px 10px; color:#FF1F00; height:50px; width:350px; } #margin { border:1px solid #000000; margin-top: 20px; margin-right:30px; margin-left:30px; margin-bottom:20px; color:#FF1F00; height:150px; width:350px; } The margin clears an area around the content (outside the border) of an element. The padding clears an area around the content (inside the border) of an element. Người soạn: Nguyễn Văn Đại Trang 60
  61. Nguyễn Văn Đại Tự học PHP lập trình web c. Border Trong ví dụ trên ta thấy thuộc tính border được dùng để đóng khung, trang trí cho một đối tượng, phân cách các đối tượng giúp trang web trông dễ nhìn hơn. Border có các thuộc tính sau: – border-width: độ rộng cho viền, có các giá trị thin (mảnh), medium (vừa), thick (dày), hay là một giá trị đo cụ thể như pixels – border-color: màu viền – border-style: kiểu viền, có 8 giá trị dotted, dashed, solid, double, groove, ridge, inset và outset. Ngoài ra, hai giá trị none hay hidden dùng để ẩn đường viền Chúng ta cũng có thể dùng riêng các thuộc tính border-top, border-right, border-bottom hay border-left để chỉ định viền riêng cho các đối tượng. Ví dụ 29 #border { border-top-width:thin; border-top-color:#FF0000; border-top-style:solid; border-right-width:thick; border-right-color:#AFAFAF; border-right-style:dotted; } d. Thuộc tính Width và Height Thuộc tính Width Người soạn: Nguyễn Văn Đại Trang 61
  62. Nguyễn Văn Đại Tự học PHP lập trình web Width quy định độ rộng cho một thành phần web, ngoài ra ta còn có một số thuộc tính đi kèm – max-width: quy định chiều rộng tối đa cho một thành phần web. – min-width: quy định chiều rộng tối thiểu cho một thành phần web. Thuộc tính height: Height: quy định chiều cao cho một thành phần web, ngoài ra ta còn có một số thuộc tính đi kèm – max-height: quy định chiều cao tối đa cho một thành phần web. – min-height: quy định chiều cao tối thiểu cho một thành phần web. e. Thuộc tính float và clear Thuộc tính Float: Thuộc tính float dùng để cố định một thành phần web về bên trái hay bên phải không gian bao quanh nó. Đây là một thuộc tính rất cần thiết khi dàn trang, hiển thị văn bản thành cột, định vị trí ảnh và text Trong hình minh họa dưới đây ta thấy 2 khối BOX A và BOX B được đặt trong khối WRAPPER. Khi ta sử dụng thuộc tính float cho BOX A cố định về phía trái thì BOX B sẽ tràn lên để lấp khoảng trống phía trên BOX WRAPPE A R BOX B Thuộc tính float có 3 giá trị: – Left: Cố định phần tử về bên trái. – Right: Cố định phần tử về bên phải. – None: Bình thường. Ví dụ 30 Người soạn: Nguyễn Văn Đại Trang 62
  63. Nguyễn Văn Đại Tự học PHP lập trình web #wrapper { border:1px solid #ff0000; width:700px; } #box_a { border: 1px solid #000000; width: 300px; float:left; color:#d40000; } #box_b { border: 1px solid #0000ff; color:#551f00; } This is BOX A This is BOX B Kết quả hiển thị Thuộc tính clear Thuộc tính clear thường đi kèm với float, được dùng xử lý các phần tử liên quan tới phần tử đã được float để quyết định hướng xử sự của phần tử này. Ở ví dụ trên, khi BOX A được float qua trái thì mặc nhiên BOX B sẽ được tràn lên để lắp vào chỗ trống. Nhưng khi chúng Người soạn: Nguyễn Văn Đại Trang 63
  64. Nguyễn Văn Đại Tự học PHP lập trình web ta sử dụng thuộc tính clear cho BOX B thì chúng ta có quyền quyết định xem phần văn bản đó có được tràn lên hay không. Thuộc tính clear có 4 giá trị: left, right, both và none. Thuộc tính position Bên cạnh thuộc tính float, clear, CSS cung cấp cho ta thuộc tính position để xác định tọa độ của một đối tượng nào đó trên cửa sổ trình duyệt. Ta có 2 cách để xác định tọa độ: – Định vị tuyệt đối: position sẽ nhận giá trị absolute – Định vị tương đối: position nhận giá trị relative Ví dụ 31 #img1{position:absolute; top:50px; left:70px } #img2 { position:relative; bottom:70px; right:50px } Người soạn: Nguyễn Văn Đại Trang 64
  65. Nguyễn Văn Đại Tự học PHP lập trình web Chương 4: Giới thiệu ngôn ngữ kịch bản Javascript I. Giới thiệu về Javascript - Javascript là ngôn ngữ kịch bản được sử dụng nhiều trên các website, và được hỗ trợ trên một số trình duyệt như: Internet Explorer, FireFox, Chrome, Opera, và Safari. - Để học ngôn ngữ này bạn cần hiểu cơ bản về HTML hoặc XHTML. Vậy javascript là gì? - javascript là ngôn ngữ kịch bản được nhúng vào trong tài liệu html. II. Ngôn ngữ javascript 1. Chèn mã lệnh javascript vào trong tài liệu HTML a. Chèn mã lệnh trên vùng Cách chèn mã lệnh nay chỉ áp dụng khi mã lệnh javacript được chèn thực hiện một mục đích nào đó trên tài liệu html tại vị trí cần chèn vào. Ví dụ 4.1: Chèn mã lệnh javascript vào trong tài liệu html // code here. b. Chèn mã lệnh trên vùng Cách chèn mã lệnh nay thường khi mã lệnh javacript được chèn thực hiện một mục đích nào tại nhiều vị trí khác nhau trên tài liệu html. Ví dụ 4.2: Chèn mã lệnh javascript vào trong vùng thẻ head // code here. c. Chèn mã lệnh trực tiếp vào trong các thẻ HTML Cách chèn mã lệnh nay chỉ áp dụng khi mã lệnh javacript được chèn thực hiện một mục đích nào đó trên thẻ html được chèn vào. Ví dụ 4.3: Chèn mã lệnh javascript vào trong thẻ html Người soạn: Nguyễn Văn Đại Trang 65
  66. Nguyễn Văn Đại Tự học PHP lập trình web Click here!!! d. Chèn mã lệnh bằng một tập tin riêng trên vùng Cách chèn mã lệnh nay thường khi mã lệnh javacript được chèn thực hiện một mục đích nào tại nhiều vị trí khác nhau trên tài liệu html, bên cạnh đó mã lệnh trong tập tin này không chỉ áp dụng cho một trang bất kỳ mà có thể áp dụng cho toàn bộ website. Ví dụ 4.4: Chèn mã lệnh bằng một tập tin riêng có tên my_javascript.js // code here. 2. Lời chú thích Chúng ta có thể thêm những khối ghi chú để biết phần mã lệnh tương ứng thực hiện điều gì. Các ghi chú được trình duyệt bỏ qua và chỉ thấy trong mã nguồn. Cú pháp câu ghi chú: - Dòng ghi chú nằm trên một dòng văn bản. // dòng ghi chú trên 1 dòng. - Dòng ghi chú nằm trên nhiều dòng văn bản. /* dòng ghi chú thứ nhất dòng ghi chú khác . */ 3. Biến và cách xuất thông tin lên trình duyệt a. Biến và cách khai báo biến Biến trong javascript được sử dụng từ khóa var để khai báo, khi khai báo nhiều biến chúng ta phân cách chúng bởi dấu (,). Tên biến không có khoảng cách trống, không được trùng tên với từ khóa, bắt đầu bằng ký tự, đặc điểm tên biến phân biệt chữ hoa và chữ thường. Ví dụ 4.5: var so_a, so_b; var chuoi; Sau khi khai báo biến chúng ta có thể khởi gán giá trị cho tên biến bằng cách dùng toán tử gán(=), khi đó kiểu dữ liệu của biến là kiểu của giá trị được khởi gán. Ví dụ 4.6: Người soạn: Nguyễn Văn Đại Trang 66
  67. Nguyễn Văn Đại Tự học PHP lập trình web so_a = 9; //kiểu của so_a là kiểu số nguyên. chuoi = “Hello” // kiểu của chuoi là kiểu chuỗi ký tự. Để kiểm tra xem kiểu dữ liệu của tên biến ta sử dụng hàm typeof( ). Chuyển đổi chuỗi số thành kiểu số ta sử dụng hàm parseInt() hoặc parseFloat(). Ví dụ 4.7: chuoi = “123.45”; so_a = parseInt(chuoi); //khi đó so_a = 123; so_b = parseFloat(chuoi); //khi đó so_b =123.45; Chuyển đổi số thành chuỗi ta sử dụng hàm toString() Ví dụ 4.8: chuoi = toString(so_a); // khi đó chuoi = “123”; b. Xuất thông tin lên trình duyệt web Để xuất thông tin lên trình duyệt web ta sử dụng Cú pháp sau: document.write( ); hoăc document.writeln( ); Ví dụ 4.9: document.write(“Chào các bạn”); // xuất ra chuỗi. document.write(chuoi); // xuất ra biến chuỗi. 4. Các phép toán Trong ngôn ngữ lập trình javascript các phép toán tương tự như các phép toán trong C. Các phép tính toán học: + Phép cộng - Phép trừ * Phép nhân / Phép chia % Phép lấy phần dư ++ Tăng giá trị lên 1 đơn vị Giảm giá trị xuống 1 đơn vị Các phép gán: Phép toán Ví dụ Tương tự Kết quả = x=y x=5 Người soạn: Nguyễn Văn Đại Trang 67
  68. Nguyễn Văn Đại Tự học PHP lập trình web += x+=y x=x+y x=15 -= x-=y x=x-y x=5 *= x*=y x=x*y x=50 /= x/=y x=x/y x=2 %= x%=y x=x%y x=0 Phép toán + : được sử dụng để cộng chuổi(nối chuổi) Ví dụ 4.10: Cộng hai chuỗi st1="Hôm nay là"; st2="đẹp trời"; st=st1+ “ ”+st2; // Kết quả st = “Hôm nay là một ngày đẹp trời”; Phép cộng giữa chuổi và số: khi cộng một chuỗi với một số kết quả sẽ là chuỗi. Ví dụ 4.11: Cộng chuỗi và số //Cộng số với số x=5+5; document.write(x); // Cộng chuổi với chuỗi x="5"+"5"; document.write(x); // Cộng số với chuỗi x=5+"5"; document.write(x); // Cộng chuỗi với số x="5"+5; document.write(x); Phép so sánh: == Bằng === Bằng chính xác (giá trị và kiểu) != Không bằng > Lớn hơn = Lớn hơn hoặc bằng <= Nhỏ hơn hoặc bằng Người soạn: Nguyễn Văn Đại Trang 68
  69. Nguyễn Văn Đại Tự học PHP lập trình web Phép toán logic: && Và || Hoặc ! Phủ định Phép toán điều kiện: ten_bien =( )?gia_tri_true:gia_tri_sai 5. Câu lệnh rẽ nhánh If Else Câu lệnh rẽ nhánh có 3 dạng: Dạng 1: Câu lệnh if dạng khuyết. Câu lệnh if dạng này được sử dụng để kiểm tra điều kiện, nếu điều kiện thõa mãn thì thực hiện một nhiệm vụ nào đó. Cú pháp: if ( ) { // mã lệnh nếu biểu thức điều kiện đúng } Ví dụ 4.12: Lấy ra giờ hệ thống, nếu giờ nhỏ hơn 10 giờ thì in ra trình duyệt “Chào buổi sáng” var d=new Date(); // Lớp d là kiểu dữ liệu giờ var time=d.getHours(); // lấy ra giờ if (time Chào buổi sáng "); } Dạng 2: Câu lệnh if dạng đầy đủ Câu lệnh if dạng này được sử dụng để kiểm tra điều kiện, nếu điều kiện thõa màn thì thực hiện một công việc này còn nếu sai thì thực hiện nhiệm vụ khác. Cú pháp: if ( ) { Người soạn: Nguyễn Văn Đại Trang 69
  70. Nguyễn Văn Đại Tự học PHP lập trình web // Mã lệnh nếu điều kiện đúng; } else { //Mã lệnh nếu điều kiện sai } Ví dụ 4.13: Lấy ra giờ hệ thống, nếu giờ hiện tại nhỏ hơn 10 thì xuất ra màn hình là “Good morning!”, ngược lại “Good day!” var d = new Date(); var time = d.getHours(); if (time Dạng 3: Câu lệnh if lồng nhau: Câu lệnh if dạng lồng được sử dụng khi điều kiện đưa ra có thể xẩy ra hơn hai trường hợp. Cú pháp: if ( ) { // Mã lệnh nếu biểu thức đúng; } else if ( ) { // Mã lệnh nếu biểu thức đúng; } else { // Mã lệnh nếu biểu thức và sai. } Ví dụ 4.14: var d = new Date() var time = d.getHours() Người soạn: Nguyễn Văn Đại Trang 70
  71. Nguyễn Văn Đại Tự học PHP lập trình web if (time Good morning "); } else if (time>10 && time Good day "); } else { document.write(" Hello World! "); } 6. Câu lệnh lựa chọn Switch Câu lệnh switch được sử dụng khi biểu thức có thể trả về nhiều giá trị khác nhau, mỗi giá trị như vậy thì thực hiện một công việc khác nhau. Cú pháp: switch( ) { case gt1: //Thực hiện lệnh nếu biểu_thức = gt1 break; case gt2: //Thực hiện lệnh nếu biểu_thức = gt2 break; default: //Thực hiện lệnh nếu biểu_thức không bằng gt1 hoặc gt2 } Ví dụ 4.15: var d=new Date(); theDay=d.getDay(); switch (theDay) { case 1: document.write("Thứ hai"); Người soạn: Nguyễn Văn Đại Trang 71
  72. Nguyễn Văn Đại Tự học PHP lập trình web break; case 2: document.write("Thứ ba"); break; case 3: document.write("Thứ tư"); break; case 4: document.write("Thứ năm"); break; case 5: document.write("Thứ sáu"); break; case 6: document.write("Thứ bảy"); break; default: document.write("Chủ nhật"); } 7. Định nghĩa hàm Ngoài những hàm javascript đã định nghĩa sẵn, chúng ta có thể định nghĩa để thực hiện một nhiệm vụ nào đó. Cấu trúc của hàm: function ( ) { // mã lệnh. } 8. Hộp thông báo Khi người dùng nhập thông tin hoặc tác động đến trang web thì một thông báo hiện ra cảnh báo hay nhắc nhở người. Kiểu thông báo: Hộp thông báo alert() chỉ có nút lệnh OK. Cú pháp: alert("Dòng thông báo"); Ví dụ 1.16: function show_alert() Người soạn: Nguyễn Văn Đại Trang 72
  73. Nguyễn Văn Đại Tự học PHP lập trình web { alert("I am an alert box!"); } Kiểu thông báo confirm() có hai nút lệnh nút lệnh OK và Cancel. Nếu Click vào Ok thì kết quả trả về là true, nếu click vào Cancel thì kết quả trả về là false. Cú pháp: confirm("Dòng thông báo"); Ví dụ 4.17: function show_confirm() { var r=confirm("Press a button"); if (r==true) { document.write("You pressed OK!"); } else { document.write("You pressed Cancel!"); } } Kiểu thông báo prompt() cho phép người dùng nhập vào giá trị và chỉ có hai nút lệnh OK và Cancel. Người soạn: Nguyễn Văn Đại Trang 73
  74. Nguyễn Văn Đại Tự học PHP lập trình web Nếu click vào Ok thì kết quả trả về là giá trị được nhập từ hộp prompt(), nếu click vào Cancel thì giá trị trả về là null. Cú pháp: prompt("Dòng thông báo","Giá trị nhập vào mặc định"); Ví dụ 4.18: function show_prompt() { var name=prompt("Please enter your name","Harry Potter"); if (name!=null && name!="") { document.write("Hello " + name + "! How are you today?"); } } 9. Câu lệnh lặp For Câu lệnh for dùng để lặp lại công việc với số lần lặp được xác định trước. Cú pháp: for (var=startvalue;var var i=0; for (i=0;i<=5;i++) Người soạn: Nguyễn Văn Đại Trang 74
  75. Nguyễn Văn Đại Tự học PHP lập trình web { document.write("The number is " + i); document.write(" "); } 10. Câu lệnh lặp While Câu lệnh lặp While: Câu lệnh while dùng để lặp lại công việc với số lần lặp chưa xác định trước, số lần lặp phục thuộc vào điều kiện. Cú pháp: while ( ) { // Thực hiện mã lệnh; } Kiểm tra điều kiện, nếu biểu thức điều kiện còn đúng thì thực hiện mã lệnh, điều kiện sai thì thoát khỏi vòng lặp. Ví dụ 4.20: var i=0; while (i "); i++; } Câu lệnh do while Thực hiện mã lệnh, sau đó kiểm tra điều kiện nếu điều kiện còn chưa đúng thì thực hiện thì thực hiện mã lệnh, điều kiện đúng thì thoát khỏi vòng lặp. Người soạn: Nguyễn Văn Đại Trang 75
  76. Nguyễn Văn Đại Tự học PHP lập trình web Cú pháp: do { // Thực hiện mã lệnh; } while (var var i=0; do { document.write("The number is " + i); document.write(" "); i++; } while (i 11. Câu lệnh lặp For In Câu lệnh for in là một câu lệnh đặc biệt không có trong C chỉ có trong javascript, nó được dùng để duyệt các phần tử trong một đối tượng trong javascript. Ví dụ như trong đối tượng mảng. Cú pháp: for (variable in object) { // Mã lệnh thực hiện; } Ví dụ 4.22: var x; var mycars = new Array(); Người soạn: Nguyễn Văn Đại Trang 76
  77. Nguyễn Văn Đại Tự học PHP lập trình web mycars[0] = "Saab"; mycars[1] = "Volvo"; mycars[2] = "BMW"; for (x in mycars) { document.write(mycars[x] + " "); } 12. Sự kiện trong Javascript a. Sự kiện onLoad và onUnload Sự kiện Chức năng onFocus onBlur Sự kiện onBlur được thực hiện khi người dùng con trỏ di chuyển ra khỏi thẻ. onChange onClick onActive Sự kiện onLoad được thực hiện khi người dùng tải dữ liệu lên trình duyệt onLoad web. Sự kiện onUnload được thực hiện khi người dùng đó lại quá trình tải dữ liệu onUnload lên trình duyệt web. onKeypress onSubmit Sự kiện onSubmit được thực hiện khi người dùng thực hiện submit một form. MouseOver Sự kiện onMouseover được thực hiện khi người dùng đưa chuột lên thẻ. onMouseOut Sự kiện onMouseout được thực hiện khi người dùng đưa chuột ra khỏi thẻ. 13. Câu lệnh Try Catch Câu lệnh này kiểm tra một đoạn mã lệnh có bị lỗi Cú pháp hay không, nếu bị lỗi thì thông báo lỗi phát sinh ra. Cú pháp: try { //mã lệnh } catch(err) { Người soạn: Nguyễn Văn Đại Trang 77
  78. Nguyễn Văn Đại Tự học PHP lập trình web //thông báo lỗi } Khi chạy thử “mã lệnh” nếu mã lệnh bị lỗi Cú pháp thì “thông báo lỗi” sẽ đưa ra. Ví dụ 4.23: var txt=""; function message() { try { adddlert("Welcome guest!"); } catch(err) { txt="There was an error on this page.\n\n"; txt+="Error description: " + err.description + "\n\n"; txt+="Click OK to continue.\n\n"; alert(txt); } } 14. Câu lệnh Throw Cú pháp: throw(exception) Ví dụ 4.24: Người soạn: Nguyễn Văn Đại Trang 78
  79. Nguyễn Văn Đại Tự học PHP lập trình web var x=prompt("Enter a number between 0 and 10:",""); try { if(x>10) { throw "Err1"; } else if(x 15. Ký tự đặc biệt Text Mã Hiện ra \' Dấu nháy đơn ( ’ ) Người soạn: Nguyễn Văn Đại Trang 79
  80. Nguyễn Văn Đại Tự học PHP lập trình web \" Dấu nháy kép ( ” ) \& Dấu và ( & ) \\ Dấu xổ phải ( \ ) \n Xuống dòng mới \r carriage return \t Nhảy tab \b Khoảng trắng \f form feed III. Đối tượng trong javascrip Javascript là một ngôn ngữ lập trình hướng đối tượng, cho phép chúng ta định nghĩ ra đối tượng và sử dụng đối tượng đó, bên cạnh đó javascript cũng định nghĩa cho chúng ta một số đối tượng. 1. Đối tượng String Đối tượng chuỗi được tạo ra để lưu trữ chuỗi các ký tự. Ví dụ 4.25: hoten = “Hồ Diên Lợi”; Các khái báo chuỗi: Đối tượng chuỗi được khai báo như sau: var ten_chuoi = “chuỗi ký tự”; Ví dụ 4.26: var hoten = “Hồ Diên Lợi”; Một phương thức của đối tượng chuỗi: - Độ dài của chuỗi: length - Cộng hai chuỗi ký tự (+) - Chuyển chuổi ký tự thành chuỗi chữ in hoa: toUpperCase() - Chuyển chuỗi ký tự thành chuỗi chữ thường: toLowerCase( ) - Cắt lấy chuổi con từ vt1 đến vt2: substring(vt1,vt2) - Cắt lấy một chuỗi: substr(vt, number) - indexOf( ) - match(re); Người soạn: Nguyễn Văn Đại Trang 80
  81. Nguyễn Văn Đại Tự học PHP lập trình web - replace(re, replacementString); - charCodeAt(3) 2. Đối tượng Date Tạo một đối tượng date ta sử dụng các Cú pháp sau: var myDate = new Date(); var myDate = new Date(yyyy, mm, dd, hh, mm, ss); var myDate = new Date(yyyy, mm, dd); var myDate = new Date("monthName dd, yyyy hh:mm:ss"); var myDate = new Date("monthName dd, yyyy"); var myDate = new Date(epochMilliseconds); Một số phương thức đối với đối tượng Date: getTime( ) setTime(val) 0- getSeconds( ) setSeconds(val) 0-59 getMinutes( ) setMinutes(val) 0-59 getHours( ) setHours(val) 0-23 getDay( ) setDay(val) 0-6 getDate( ) setDate(val) 1-31 getMonth( ) setMonth(val) 0-11 getFullYear( ) setFullYear(val) 1970- 3. Đối tượng Array - Concat(): nooid chuỗi Ví dụ 4.27: Nối chuỗi var parents = ["Jani", "Tove"]; var children = ["Cecilie", "Lone"]; var family = parents.concat(children); document.write(family); Người soạn: Nguyễn Văn Đại Trang 81
  82. Nguyễn Văn Đại Tự học PHP lập trình web - Sort Ví dụ 4.28: var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write(fruits.sort()); Ví dụ 4.29: - Split - Length - splice 4. Đối tượng Math - Hàm round() document.write(Math.round(0.60) + " "); document.write(Math.round(0.50) + " "); document.write(Math.round(0.49) + " "); document.write(Math.round(-4.40) + " "); document.write(Math.round(-4.60)); - Hàm random() //return a random number between 0 and 1 document.write(Math.random() + " "); //return a random integer between 0 and 10 document.write(Math.floor(Math.random()*11)); Người soạn: Nguyễn Văn Đại Trang 82
  83. Nguyễn Văn Đại Tự học PHP lập trình web Chương 5: Ngôn ngữ PHP I. Tổng quan về PHP 1. Cú pháp PHP Cách 1 : Cú pháp chính: Cách 2: Cú pháp ngắn gọn Cách 3: Cú pháp giống với ASP. Cách 4: Cú pháp bắt đầu bằng script Mặc dù có 4 cách thể hiện. Nhưng đối với 1 lập trình viên có kinh nghiệm thì việc sử dụng cách 1 vẫn là lựa chon tối ưu. 2. Xuất giá trị ra trình duyệt Để xuất dữ liệu ra trình duyệt chúng ta sử dụng các hàm hàm sau: - Hàm echo() Cú pháp: echo ( ); Trong đó: + Thông tin có thể là hằng, biến hay biểu thức. + Có thể viết echo ; Ví dụ 5.1: Xuất ra trình duyệt nội dung “Chào các bạn” - Hàm print() Người soạn: Nguyễn Văn Đại Trang 83
  84. Nguyễn Văn Đại Tự học PHP lập trình web Cú pháp: print( ); Trong đó: + Thông tin có thể là hằng, biến hay biểu thức. + Có thể viết print ; Ví dụ 5.2: Xuất ra trình duyệt nội dung “Chào các bạn” 3. Lời chú thích Để giải thích các đoạn mã hay câu lệnh trong PHP thực hiện chức năng, nhiệu vụ ngông ngữ đã có pháp người dùng viết các ghi chú. Lời ghi chú không thực thi khi chạy đoạn mã. Trong HTML, các ghi chú được đặt trong Trong PHP có ba dạng ghi chú: Dạng 1: # đây là ghi chú. Dạng này chỉ áp dụng ghi đó chỉ nằm trên một dòng văn bản Dạng 2: // đây là ghi chú. Dạng này cũng chỉ áp dụng ghi đó chỉ nằm trên một dòng văn bản Dạng 3: /* đây là một ghi chú dài Áp dụng cho nhiều hàng */ Dạng ghi chú này thường áp dụng cho đoạn ghi chú dài gồm nhiều dòng văn bản 4. Biến trong PHP Biến là một ô nhớ trong bộ nhớ chính giúp biểu diễn thông tin thực tế trong chương trình. a. Khai báo biến - Biến trong PHP được bắt đầu bằng ký tự $ và theo sau là tên biến. - Nguyên tắc đặt tên biến: tên biết bắt đầu bằng một ký tự hoặc là dấu _theo sau có thể là ký tự, số hoặc dấu _ Người soạn: Nguyễn Văn Đại Trang 84