Xây dựng website giới thiệu tin tức và sản phẩm của công ty máy tính việt cường
LỜI CẢM ƠN Để hoàn thành đề tài thực tập chuyên ngành trước hết em xin gửi lời cảm ơn đặc biệt đến: Ban Giám hiệu Trường Đại Học Công Nghệ Thông Tin & Truyền Thông thầy cô giáo trường giảng dạy, truyền đạt kiến thức, quan tâm, tạo điều kiện giúp đỡ em Cô giáo Th.S Nguyễn Thị Mai Phương tận tình hướng dẫn, giúp đỡ em trình làm báo cáo thực tập Cô nhắc nhở, bảo, động viên em gặp khó khăn Em xin gửi lời cảm ơn tới gia đình, bạn bè động viên, giúp đỡ em thời gian học tập làm đề tài thực tập Do thời gian thực tập có hạn, kiến thức kinh nghiệm em cịn hạn chế Vì báo cáo khơng thể tránh khỏi khuyết điểm thiếu sót Em mong nhận bảo thầy cô, góp ý bạn bè để đề tài hồn thiện hơn, có khả ứng dụng thực tế Em xin chân thành cảm ơn ! Thái Nguyên, ngày 29 tháng 08 năm 2012 Sinh viên thực MỤC LỤC LỜI MỞ ĐẦU Trong phát triển khơng ngừng xã hội nhu cầu người sống ngày cao.Từ ý nghĩa thực tế mà nảy sinh nhiều loại hình dịch vụ để phần đáp ứng nhu cầu thiết yếu người Các dịch vụ đa dạng nhiều mặt với nhiều cách đáp ứng khác Và loại hình dịch vụ phổ biến giới thiệu sản phẩm qua mạng Hiện công ty tin học hàng đầu giới không ngừng đầu tư cải thiện giải pháp sản phẩm nhằm cho phép tiến hành thương mại hóa Internet Ở Viêt Nam có nhiều doanh nghiệp tiến hành thương mại hóa internet, khó khăn sở hạ tầng viễn thông chưa phát triển mạnh, dịch vụ toán điện tử qua ngân hàng chưa phổ biến nên dừng lại mức độ giới thiệu sản phẩm tiếp nhận đơn đặt hàng thông qua trang web Là sinh viên ngành công nghệ thông tin, sau thời gian thực tập, hướng dẫn tận tình Nguyễn thị Mai Phương em thu số kết Sau em xin báo cáo kết thu thập thời gian vừa qua CHƯƠNG : CỞ SỞ LÝ THUYẾT 1.1 Tìm hiểu PHP 1.1.1.Giới thiệu PHP a PHP gì? PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") ngơn ngữ lập trình kịch hay loại mã lệnh chủ yếu dùng để phát triển ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng qt Nó thích hợp với web dễ dàng nhúng vào trang HTML Do tối ưu hóa cho ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C Java, dễ học thời gian xây dựng sản phẩm tương đối ngắn so với ngơn ngữ khác nên PHP nhanh chóng trở thành ngơn ngữ lập trình web phổ biến giới b Tại chọn sử dụng PHP Mã nguồn mở: Có lẽ nhiều người biết PHP sản phẩm mã nguồn mở (Opensource) nên việc cài đặt tùy biến PHP miễn phí tự Vì có ưu nguồn mở nên PHP cài đặt hầu hết Web Server thơng dụng Apache, IIS… Tính Cộng đồng PHP: Là ngôn ngữ mã nguồn mở với phổ biến PHP cộng đồng PHP coi lớn có chất lượng Với cộng đồng phát triển lớn, việc cập nhật vá lỗi phiên thử nghiệm phiên khiến PHP linh hoạt việc hồn thiện Cộng đồng hỗ trợ, chia kinh nghiệm PHP dồi Với nhiều diễn đàn, blog ngồi nước nói PHP khiến cho q trình tiếp cận người tìm hiểu PHP rút ngắn nhanh chóng Thư viện phong phú: Ngồi hỗ trợ cộng đồng, thư viện script PHP phong phú đa dạng Từ nhỏ đoạn code, hàm (PHP.net…) lớn Framework (Zend, CakePHP, CogeIgniter, Symfony…) ,ứng dụng hoàn chỉnh (Joomla, Wordpress, PhpBB…) Với thư viện code phong phú, việc học tập ứng dụng PHP trở nên dễ dàng nhanh chóng Đây đặc điểm khiến PHP trở nên bật nguyên nhân ngày có nhiều người sử dụng PHP để phát triển web Hỗ trợ kết nối nhiều hệ sở liệu: Nhu cầu xây dựng web có sử dụng sở liệu nhu cầu tất yếu PHP đáp ứng tốt nhu cầu Với việc tích hợp sẵn nhiều Database Client PHP làm cho ứng dụng PHP dễ dàng kết nối tới hệ sở liệu thông dụng Việc cập nhật nâng cấp Database Client đơn giản việc thay Extension PHP để phù hợp với hệ sở liệu mà PHP làm việc Một số hệ sở liệu thơng dụng mà PHP làm việc là: MySQL, MS SQL, Oracle, Cassandra… Lập trình hướng đối tượng: Ngày nay, khái niệm lập trình hướng đối tượng (OOP) khơng cịn xa lạ với lập trình viên Với khả lợi ích mơ hình lập trình nên nhiều ngơn ngữ triển khai để hỗ trợ OOP Từ phiên PHP 5, PHP có khả hỗ trợ hầu hết đặc điểm bật lập trình hướng đối tượng Inheritance, Abstraction, Encapsulation, Polymorphism, Interface, Autoload… Với việc ngày có nhiều Framework ứng dụng PHP viết mơ hình OOP nên lập trình viên tiếp cận mở rộng ứng dụng trở nên dễ dàng nhanh chóng Tính bảo mật: Bản thân PHP mã nguồn mỡ cộng đồng phát triển tích cực nên nói PHP an tồn PHP cung cấp nhiều chế cho phép ta triển khai tính bảo mật cho ứng dụng session, hàm filter liệu, kỹ thuật ép kiểu, thư viện PDO (PHP Data Object) để tương tác với sở liệu an toàn Kết hợp với kỹ thuật bảo mật tầng khác ứng dụng PHP trở nên chắn đảm bảo hoạt động cho website Khả mở rộng cho PHP: Bằng việc xây dựng ngôn ngữ C mã nguồn mở nên khả mở rộng cho ứng dụng PHP nói khơng có giới hạn Với thư viện phong phú khả mở rộng lớn, ứng dụng PHP tương tác với hầu hết loại ứng dụng phổ biến xử lý hình ảnh, nén liệu, mã hóa, thao tác file PDF, Office, Email, Streaming… Ta hồn tồn tự xây dựng cho Extension để tối ưu, bổ sung chức cho PHP tối ưu Core PHP để phục vụ cho mục đích mở rộng website 1.1.2 Biến, số, kiểu liệu PHP a Kiểu liệu PHP có kiểu liệu bản: integer, double string Ngoài cịn có kiểu liệu khác (nhưng khơng phải kiểu liệu bản) array, objects Integer kiểu chiếm byte nhớ, giá trị khoảng -2 tỷ đến +2 tỷ kiểu double kiểu số thực kiểu string dùng để chứa giá trị bao gồm kí tự số Ví dụ: // kiểu integer 1.0// kiểu double “2” // kiểu string “2 hous” // kiểu string b Hằng số Hằng số giá trị không đổi thường dùng số để lưu giá trị không đổi suốt chương trình khai báo số: ta dùng define() để khai báo số: define(COMPANY”,”Phop’s bycycles”); define(“vesion”,4); define(“NL”,”BR”); ví dụ dùng hàm define() để khai báo số NL Hằng số thẻ ngắt HTML Hàm define(): hàm dùng để kiểm tra xem số khai báo chưa Ví dụ: if(defined(“yellow”)){ Echo(”); } số định nghĩa PHP: Để hỗ trợ người lập trình, PHP cung cấp sẵn số như: biến môi trường, biến web server apache… người lập trình sử dụng hàm phpinfo() để xem giá trị – Hằng số nguyên: giá trị có kiểu integer Ví dụ: 10 – Hằng số thực: giá trị có kiểu double Ví dụ: 10.00 – Hằng kí tự: xâu kí tự đặt dấu ngoặc đơn kép Ví dụ: “ngơn ngữ lập trình PHP” c Biến giá trị logic Cũng giống với C/C++, PHP khơng có khái niệm TRUE FALSE Các giá trị TRUE hiểu giá trị 1, giá trị FALSE giá trị xâu rỗng Khi sử dụng biến không cần khai báo kiểu Ví dụ: $a = 1; //$a biến kiểu integer $a = 1.2 // $a biến kiểu double Nếu thực phép tốn biến có kiểu số kiểu string PHP coi chuỗi dãy sau: $str = “222 B Baker Street”; Ta thấy biến $str có kiểu string, cộng số với giá trị thì: $x = + $str; // $x = 225 Khi $x nhận giá tri 225 PHP cộng với số đầu ta in giá trị $str thì: Echo($str); // print:” 222 B Baker Street” Chú ý phép toán chuỗi kí tự đầu số Ta thay đổi kiểu giá trị biến cách ép kiểu Ví dụ: $a = 11.2; $a = (int)$a; Các hàm làm việc với biến: Gettype(): hàm trả lại kiểu biến Giá trị trả là: ”integer”, “double”, “string”,… Settype(): hàm ép kiểu cho biến Nếu thành cơng giá trị trả la 1, ngược lại Isset() unset(): hàm isset() kiểm tra biến gán giá trị hay chưa, hàm unset() giải phóng nhớ cho biến Empty(): giống hàm isset(), hàm empty() trả giá trị 1(true) biến rỗng ngược lại (false) Đối với biến có kiểu số, giá trị coi rỗng Ví dụ: Echo empty($new); //true $new = 1; Echo empty($new); //false 1.1.3 Các toán tử Bảng phép toán số học Phép toán + Ý nghĩa Phép cộng Ví dụ 7+2 Giải thích Thực phép cộng : - Phép trừ 7–2 Thực phép trừ :5 * Phép nhân 7*2 Thực phép nhân : 14 / Phép chia 7/2 Thực phép chia 2: 3.5 % Chia dư 7%2 Thực phép chia dư 2:1 Ta viết phép toán ngắn gon bảng sau: Khi viết $h +=$i Tương đương với $h = $h + $i $h -=$i $h = $h - $i $h *=$i $h = $h * $i $h /=$i $h = $h / $i $h %=$i $h = $h % $i Phép gán: Ví dụ: $x = 1; $y = $x + 1; Bảng phép toán quan hệ Phép tốn == Ý nghĩa So sánh Ví dụ $h ==$i Giải thích Kiểm tra $h $i có không < So sánh nhỏ $h < $i Kiểm tra $h có nhỏ $i khơng > So sánh lớn $h > $i Kiểm tra $h có lớn $i khơng = $i Kiểm tra $h có nhỏ $i không != So sánh khác $h != $i Kiểm tra $h có khác $i khơng So sánh khác $h $i Kiểm tra $h có khác $i khơng Các phép so sánh thường dùng kiểm tra điều kiện câu lệnh điều khiển mà ta học sau Bảng phép toán logic Phép toán logic với toán hạng tạo thành biểu thức logic Biểu thức logic có giá trị (true) (false) Toán hạng Toán hạng a b 1 a&&b a||b !a !b 1 0 0 1 1 0 0 1 Các phép toán với biến kiểu string Ta sử dụng dấu “.” để ghép biến kiểu string với Để chèn biến vào tốn hạng có kiểu string tên biến phải để dấu đóng mở ngoặc nhọn Echo(“${last}’s bycycles”); Các phép tốn thao tác mức bit Các phép toán thao tác mức bit tác động lên bit toán hạng Ký hiệu & Ý nghĩa AND bit | OR bit ^ XOR bit Bảng phép toán sau: & 1&! Kết | 1|1 Kết ^ 1^1 Kết 1&0 1|0 1^0 0&1 1|1 0^1 0&0 0|0 Các phép toán tăng giảm: 0^0 – phép tăng: phép tăng (toán tử tăng) tăng giá trị toán hạng lên đơn vị – phép giảm: tương tự phép tăng, khác giá trị bị giảm đơn vị – phép toán điều kiện ?: phép toán điều kiện với toán hạng tạo nên biểu thức điều kiện ta kí hiệu e1, e2,e3 tốn hạng Biểu thức có dạng: e1 ? e2 : e3 Nếu e1 !=0 giá trị biểu thức điều kiện e2 Nếu e1 ==0 giá trị biểu thức điều kiện e3 1.1.4 Các câu lệnh điều khiển a Lệnh if_else: lệnh rẽ nhánh có điều kiện dạng 1: if(biểu thức) câu lệnh; câu lệnh tương đương với khối lệnh Một khối lệnh đặt dấu ngoặc kép Ý nghĩa: – Nếu biểu thức khác câu lệnh thực hiên – Nếu biểu thức câu lệnh khơng thực hiên dạng 2: if ( biểu thức ) 10 : Admin frm quan tri frm quan ly san pham frm san pham DK quan ly san pham CSDL san pham 1: Chon chuc nang QLSP 2: Hien thi frm QLSP 3: Hien thi danh sach san pham 4: Chon chuc nang them san pham 5: Mo 6: Nhap vao thong tin san pham moi 7: gui len he thong 8: Kiem tra thong tin hop le 9: Cap nhat vao CSDL 10: Mo 11: Hien thi lai danh sach san pham 12: Chon san pham can chinh sua 13: Hien thi noi dung san pham 14: Chinh sua san pham 15: Cap nhat 16: Cap nhat 17: Mo 18: Hien thi danh sach bai viet 19: Chon san pham can xoa 20: Bam vao so rac 21: Xac nhan 22: Hoi chac chan khong 23: Tra loi 24: Xoa 25: Xoa 26: Cap nhat lai danh sach 27: Mo 28: Hien thi lai danh sach san pham 29: Ket thuc 64 Hình 2.23 Biểu đồ trình tự quản lý sản phẩm Biểu đồ cộng tác frm quan tri 2: Hien thi frm QLSP 1: Chon chuc nang QLSP 4: Chon chuc nang them san pham 12: Chon san pham can chinh sua 19: Chon san pham can xoa 20: Bam vao so rac 23: Tra loi 29: Ket thuc 3: Hien thi danh sach san pham 11: Hien thi lai danh sach san pham 18: Hien thi danh sach bai viet 28: Hien thi lai danh sach san pham frm quan ly san pham 6: Nhap vao thong tin san pham moi : Admin 7: gui len he thong 14: Chinh sua san pham 5: Mo 13: Hien thi noi dung san pham 21: Xac nhan 24: Xoa 10: Mo 27: Mo 17: Mo 8: Kiem tra thong tin hop le 22: Hoi chac chan khong frm san pham 15: Cap nhat CSDL san pham 26: Cap nhat lai danh sach DK quan ly san pham 9: Cap nhat vao CSDL 16: Cap nhat 25: Xoa Hình 2.24 Biểu đồ cộng tác quản lý sản phẩm 2.4.3 Sơ đồ lớp thực thể 65 jos_section(nhom tin) id : int tieude : varchar ten : varchar alias : varchar anh : text vi_tri_anh : varchar pham_vi : varchar gioi han truy cap : tinyint * Thu_tu : int mieu_ta : text jos_categories(chu_de) id : int tieu_de : varchar alias : varchar anh : text nhom_tin : varchar gioi_han_truy_cap : int mieu_ta : varchar thu_tu CSDL_chude() them_chude() sua_chude() capnhat_chude() xoa_chude() lay_thong_tin_chude() layra_danhsach_chude() CSDL_nhomtin() them_nhomtin() sua_nhomtin() capnhat_() xoa_() layra_thongtin() layra_danhsach() jos_vm_category(DMSP) id : int ten : varchar mieuta : varchar anh_thumb : text anh_full : text thutu : int * CSDL_tintuc() them_tintuc() sua_tintuc() xoa_tintuc() capnhat_tintuc() layra_tintuc() layradanhsach_tintuc() * jos_contact_details id : int alias : varchar quoc_gia : varchar dia_chi : varchar dien_thoai : varchar fax : varchar * anh : text them_danhmuc() sua_danhmuc() Xoa_danhmuc() layra_ds_danhmuc() * jos_vm_product(SP) ma_sp : varchar ten_sp : varchar gia_sp : int mieu_ta_ngan : varchar mieuta_full : varchar anh_thumb : text anh_full : text chieu_dai : decimal chieu_rong : decimal chieu_cao : decimal SP_dacbiet : char CSDL() them() sua() xoa() capnhat() lay() jos_content(baiviet) id : int tieu_de : varchar alias : varchar tieude_alias : varchar noi_dung_bai_viet : mediumtext trang_thai : tinyint chu_de : int chu_de_con : int anh : text tac_gia : varchar gioi_han_truy_cap : tynyint * jos_user(nguoi_dung) id : int ten : varchar ten_dang_nhap : varchar mat_khau : varchar thu_dien_tu : varchar kieu_nguoi_dung : varchar ngay_dang_ky : datetime ngay_truy_cap_gan_nhat : datetime CSDL_user() them_user() sua_user() capnhat() xoa_user() lay_user() lay_danhsach() Them_SP() Sua_SP() Xoa_SP() Layradanhsach_SP() 66 Hình 2.25 Sơ đồ lớp thực thể 2.5 Chi tiết bảng liệu Hình 2.26 Bảng jos_users Hình 2.27 Bảng jos_sections 67 Hình 2.28 Bảng jos_categories Hình 2.29 Bảng jos_content 68 Hình 2.30 Bảng jos_contact_details Hình 2.31 Bảng jos_ vm_product 69 Hình 2.31 Bảng jos_ vm_ category 70 CHƯƠNG 3: XÂY DỰNG WEBSITE 3.1 Trang chủ Hình 3.1 Trang chủ Trang chủ có thơng tin tổng quan tin tức sản phẩm website 3.2 Tin cơng nghệ 71 Hình 3.2 Tin công nghệ Giới thiệu thông tin công nghệ hãng sản xuất máy tính, laptop, hình,v.v… 3.3 Tin khuyến 72 Hình 3.3 Tin khuyến Giới thiệu thông tin khuyến công ty hãng sản xuất 3.4 Tin cơng ty Hình 3.4 Tin công ty Giới thiệu tin tức, hoạt động cơng ty 3.5 Sản phẩm 73 Hình 3.5 Sản phẩm 3.6 Chi tiêt tin tức Hình 3.6 chi tiết tin tức Giới thiệu thông tin chi tiết tin tức 74 3.7 Chi tiết sản phẩm Hình 3.7 Chi tiết sản phẩm Giới thiệu thơng tin chi tiết sản phẩm mà công ty bán 3.8 Thêm viết 75 Hình 3.8 Thêm viết Chức giúp người quản trị thêm viết vào website 3.9 Thêm sản phẩm Hình 3.9 Thêm sản phẩm Chức giúp người quản tri thêm sản phẩm vào website KẾT LUẬN Được hướng dẫn giúp đỡ tận tình cô giáo Th.s Nguyễn Thị Mại Phương, em hoàn thành đề tài: “xây dựng website giới thiệu tin tức sản phẩm cơng ty máy tính Việt Cường” Trong thời gian tìm hiểu thực làm đề tài, em rút số vấn đề sau: Những kết đạt trình làm đề tài: Hiểu cách tổng quan mã nguồn mở Từ biết cách xây dựng website từ mã nguồn mở Học đươc thêm kĩ trình làm đề tài 76 Hạn chế Do thời gian có hạn với kinh nghiệm thực tế chưa nhiều nên em chưa thể sâu tìm hiểu joomla ứng dụng việc phát triển website Website demo chưa thực sát với yêu cầu thực tế Hướng phát triển website: Với kết đạt số mặt hạn chế, em xin đưa số định hướng tương lai sau: Tìm hiểu sâu joomla tạo móng nghiên cứu phần mềm mã nguồn mở khác Hoàn thiện có khả xây dựng website mã nguồn mở Hồn thiện demo 77