Your SlideShare is downloading. ×
Vo minh truong 102991 bao cao thuc tap
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Vo minh truong 102991 bao cao thuc tap

41
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
41
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Bộ Công Thương Trường Đại Học Công Nghiệp Thành Phố Hồ Chí Minh Khoa Công Nghệ Thông Tin BÁO CÁO THỰC TẬP TỐT NGHIỆP ĐỀ TÀI: XÂY DỰNG PHẦN MỀM QUẢN LÝ HỌC SINH TRÊN PHP & MYSQL Tên công ty thực tập : GIÁO VIÊN PHỤ TRÁCH :THÁI LÊ MỸ LOAN GIÁO VIÊN PHỤ TRÁCH : HỌ TÊN SINH VIÊN THỰC TẬP :VÕ MINH TRƯỜNG 1
  • 2. LỜI CẢM ƠN ---oOo--- Em xin chân thành cảm ơn Ban Giám Hiệu Nhà Trường ĐH Công Nghiệp TP.HCM. Ban Chủ Nhiệm Khoa CNTT đã tạo cơ hội cho em tiếp xúc thực tế, biết được quy trình của trung tâm đào tạo quản trị mạng & an ninh mạng quốc tế ATHENA như thế nào, em cũng chân thành cảm ơn thầy cô ở khoa CNTT cũng như ở trung tâm ATHENA tận tình giúp em. Tận tụy truyền đạt những ý kiến thực quý báu trong thời gian thực tập, giúp em có những kiến thức trang bị sau này.Em cũng chân thành cảm ơn cô Thái Lê Mỹ Loan giáo viên thực tập hướng dẫn và các thầy cô trong khoa đã trực tiếp hướng dẫn giúp em hoàn thành đề tài này TP.HCM ngày 21 tháng 3 năm 2014 Sinh viên thực hiện Võ Minh Trường 2
  • 3. NHẬN XÉT CỦA GIÁO VIÊN ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ........................................................................................ ......................................................................................... ......................................................................................... NHẬN XÉT CỦA NƠI THỰC TẬP ........................................................................................ ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... . 3
  • 4. MỤC LỤC A.Phần mở đầu .................................................... Giới thiệu trung tâm ATHENA................... B.Phần tổng quan ............................................... 1.Lý do chọn đề tài ...................................... 2.giới thiệu so lược về ứng dụng:............... C.Mô tả bài toán: 1.hiện trạng hệ thống:................................... 2.Mô tả bài toán :......................................... 3.Đối tượng sử dụng:................................... 4.Yêu cầu hệ thống:..................................... 5 .Quản lý điểm :........................................... D.Cơ sở lý thuyết :................................................ i.giới thiệu về Php & MySQL.......................... • Định nghĩa:............................................. • Lịch sử phát triển của Php & MySQL... • Tại sao lại sử dụng MySQL?.............. • Một số đặc điểm của MySQL.............. • Các bước xây dựng chương trình có kết nối tới CSDL: • Thiết lập kêt nối tới MySQL................... • Thực hiện các truy vấn thêm, xóa, sửa bản ghi thông qua câu lệnh SQL • Tăng tốc độ xử lý CSDL MySQL • Hàm trong PHP • Các câu lệnh gán và rẽ nhánh trong PHP 4
  • 5. • Các kiểu dữ liệu trong PHP E.Xây dựng,thiết kế cài đặt chương trình........ • Yêu cầu : • Xây dựng bảng CSDL ....... • Thiết kế CSDL..................... • Làm trên Internet ,Sever VPS.. • Triển khai soucre code lên VPS.. • Tích hợp domain ........................ • Backup Résore_database....... F.Thao tác thực hiện:.................................. A.Phần mở đầu : Giới thiệu về trung tâm ATHENA : 5
  • 6. Trung Tâm Đào Tạo Quản Trị Mạng & An Ninh Mạng Quốc Tế ATHENA được thành lập từ năm 2004, là một tổ chức qui tụ nhiều trí thức trẻ Việt Nam đầy năng động, nhiệt huyết và kinh nghiệm trong lãnh vực CNTT, với tâm huyết góp phần vào công cuộc thúc đẩy tiến trình đưa công nghệ thông tin là ngành kinh tế mũi nhọn, góp phần phát triển nước nhà . Lĩnh vực hoạt động chính: +Trung tâm ATHENA đã và đang tập trung chủ yếu vào đào tạo chuyên sâu quản trị mạng, an ninh mạng, thương mại điện tử theo các tiêu chuẩn quốc tế của các hãng nổi tiếng như Microsoft, Cisco, Oracle, Linux LPI , CEH,.. Đội ngũ giảng viên : +Tất cả các giảng viên trung tâm ATHENA có đều tốt nghiệp từ các trường đại học hàng đầu trong nước .... Tất cả giảng viên ATHENA đều phải có các chứng chỉ quốc tế như MCSA, MCSE, CCNA, CCNP, Security+, CEH,có bằng sư phạm Quốc tế (Microsoft Certified Trainer).Đây là các chứng chỉ chuyên môn bắt buộc để đủ điều kiện tham gia giảng dạy tại trung tâm ATHENA +Bên cạnh đó,Các giảng viên ATHENA thường đi tu nghiệp và cập nhật kiến thức công nghệ mới từ các nước tiên tiến như Mỹ , Pháp, Hà Lan, Singapore,... và truyền đạt các công nghệ mới này trong các chương trình đào tạo tại trung tâm ATHENA Cơ sở vật chất: 6
  • 7. +Thiết bị đầy đủ và hiện đại +Chương trình cập nhật liên tục, bảo đảm học viên luôn tiếp cận với những công nghệ mới nhất. +Phòng máy rộng rãi, thoáng mát TRUNG TÂM ĐÀO TẠO QUẢN TRỊ MẠNG & AN NINH MẠNG QUỐC TẾ ATHENA Cơ sở 1: 92 Nguyễn Đình Chiểu, phường Đa Kao, Q1. Điện thoại: (08)38244041 - 090 78 79 477-094 323 00 99(Gần ngã tư Đinh Tiên Hoàng - Nguyễn Đình Chiểu) Cơ sở 2: 2 Bis Đinh Tiên Hoàng, phường Đa Kao, Q1. Điện thoại: (08)22103801 - 094 320 00 88 B.Phần tổng quan : 1.Lý do chọn đề tài : 7
  • 8. - Hiện nay công nghệ thông tin được xem là một ngành mũi nhọn của các quốc gia, đặc biệt là các quốc gia dang phát triển, để tiến hành công nghiệp hóa và hiện đại hóa đất nước. Sự bùng nổ thông tin và sự phát triển mạnh mẽ của thời đại công nghệ: phần cứng và phần mềm, ứng dụng web ngày càng trở nên phong phú, đa dạng và hoàn thiện hơn cho người dùng. - Sự phát triển nhanh chóng của internet trong mọi lĩnh vực của đời sống đã khiến nó trở thành một phần không thể thiếu trong cuộc sống của chúng ta. Từ thương mại, y tế cho đến các tổ chức giáo dục tất cả đều chuyển sang ứng dụng trực tuyến để bắt kịp nhịp độ tiến triển của thế giới công nghệ số. - 2 .giới thiệu sơ lược về ứng dụng: i.Mục Tiêu: - Hệ thống website của trường được xây dựng với múc tiêu chủ yếu là hộ trợ công tác quản lý điểm, quản lý sinh viên, cập nhật các thông báo của ban giam hiệu-phòng công tác học sinh-các phòng khoa v.v lên website chính xác và nhanh nhất. ii.Chức Năng Chính: Quản lý thông tin sinh viên. Quản lý bảng điểm sinh viên. Cập nhật thời khóa biểu. Upload chương trình khung của các ngành học. Thông tin của trường. Liệt kê danh sách các khoa, ngành học, lớp. Cập nhật các thông báo của trường. C.Mô tả bài toán : 1.hiện trạng hệ thống: - Hiện tại việc quản lý điểm, quản lý hồ sơ sinh viên đang theo học tại trường cũng như hồ sơ sinh viên mới vẵn còn thủ công là chính. - Các thông báo của trường đến sinh viên vẫn còn chậm trễ. - Các sinh viên mới chưa nắm rõ về các ngành do trường đào tạo cũng như các khoa và cơ cấu tổ chức trường. - 2.Mô Tả Bài Toán: 8
  • 9. Hệ thống website này sẽ giúp thực hiện việc quản lý điểm, hồ sơ sinh viên cũ và mới dễ dàng và trực tuyến. - Các thông báo của trường sẽ được cập nhật mốt cách nhanh nhất và chính xác nhất. - Thông tin về khoa, ngành học được cập nhật để các sinh viên mới nắm rõ và chọn ngành nghề mình yêu thích và phù hợp. 3.Đối tượng sử dụng: học sinh ,sinh viên .....giáo viên nhà trường,................. 4.Yêu cầu hệ thống: o Có sự phân quyền người dùng theo đúng chức năng của mình. o Hộ trợ việc nhập thông tin sinh viên mới vào trường. o Hộ trợ việc nhập điểm và tính điểm sinh viên o Lưu hồ sơ sinh viên. o Lưu trữ điểm, xếp loại học tập, điểm rèn luyện. Lưu trữ thông tin ngành học, khoa, lớp, hệ đào tạo - 5.Quản lý điểm : - Mỗi sinh viên theo học tại trường đều có môt bảng điểm riêng để đánh giá việc học tại trường, ngoài ra sinh viên còn có một bảng điểm nữa đó là bảng điểm hạnh kiểm nhằm để đánh giá việc thực hiện nội qui nhà trường qua đó cũng là hạnh kiểm của sinh viên. - Tùy theo hệ đào tạo mà có cách tính điểm khác nhau. D.Cơ sở lý thuyết : i.Giới thiệu về Php & MySQL : PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trìnhkịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp vớiweb và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các 9
  • 10. ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới. 1. <html> 2. 3. <head> 4. 5. <title>Mã mẫu</title> 6. 7. </head> 8. 9. <body> 10. 11. <?php 12. 13. echo "Chào thế giới PHP!"; 14. 15. ?> 16. 17. </body> 18. 19. </html> 20. • Lịch sử phát triển của Php & My SQL : PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus Lerdorf tạo ra năm 1995, ban đầu được xem như là một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools'. Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển các ứng dụng web đơn giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn. 10
  • 11. PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồm một số các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay. Nó có các biến kiểu như Perl, thông dịch tự động các biến của form và cú pháp HTML nhúng. Cú pháp này giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếu nhất quán. Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút được hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng Internet. Tuy đã có tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh mã nguồn của dự án này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một người. PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời gian khá dài chỉ được công bố dưới dạng các bản beta. Nhưng không lâu sau đó, nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0. PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta được biết ngày nay. Nó đã được Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó. Lý do chính mà họ đã tạo ra phiên bản này là do họ nhận thấy PHP/FI 2.0 hết sức yếu kém trong việc phát triển các ứng dụng thương mại điện tử mà họ đang xúc tiến trong một dự án của trường đại học. Trong một nỗ lực hợp tác và bắt đầu xây dựng dựa trên cơ sở người dùng đã có của PHP/FI, Andi, Rasmus và Zeev đã quyết định hợp tác và công bố PHP 3.0 như là phiên bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0. PHP 4[] Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP. Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính mô đun của cơ sở mã PHP. Những ứng dụng như vậy đã chạy được trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu và API của bên thứ ba, nhưng PHP 3.0 đã không được thiết kế để xử lý các ứng dụng phức tạp như thế này một cách có hiệu quả. MySQL : MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix,FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS, ... MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL). MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,... • Tại sao lại sử dụng MySQL? 11
  • 12. MySQL là một phần mềm quản trị CSDL mã nguồn mở, nằm trong nhóm LAMP (Linux - Apache -MySQL - PHP) • Một số đặc điểm của MySQL MySQL là một phần mềm quản trị CSDL dạng server- based (gần tương đương với SQL Server của Microsoft). MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể có nhiều bảng quan hệ chứa dữ liệu. MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên truy cập (user name) và mật khẩu tương ứng để truy xuất đến CSDL. Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mật khẩu của tài khỏan có quyền sử dụng CSDL đó. Nếu không, chúng ta sẽ không làm được gì cả. • Các bước xây dựng chương trình có kết nối tới CSDL: Thông thường, trong một ứng dụng có giao tiếp với CSDL, ta phải làm theo bốn trình tự sau: Bước 1: Thiết lập kết nối tới CSDL. Bước 2: Lựa chọn CSDL. Bước 3: Tiến hành các truy vấn SQL, xử lý các kết quả trả về nếu có Bước 4: Đóng kết nối tới CSDL. Nếu như trong lập trình thông thường trên Windows sử dụng các chương trình điều khiển trung gian (ADO, ODBC...) để thực hiện kết nối và truy vấn, thì trong PHP, khi lập trình tương tác với CSDL, chúng ta thường sử dụng thông qua các hàm. Chú ý: Trước khi sử dụng PHP để lập trình với MySQL, hãy sử dụng chương trình quản lý phpMyAdmin để tạo trước một CSDL, vài bảng cũng như người dùng... để tiện thực hành. Bài hướng dẫn sử dụng phpMyAdmin sẽ được trình bày sau. 12
  • 13. Trong bài viết này, tôi sử dụng MySQL chạy trên nền máy chủ localhost, người sử dụng của CSDL này có username là mysql_user, mật khẩu là mysql_password • Thiết lập kêt nối tới MySQL Để kết nối tới MySQL, ta sử dụng hàm mysql_connect() Cú pháp: PHP Code: mysql_connect(host,tên_truy_cập,mật_khẩu); trong đó: host là chuỗi chứa tên (hoặc địa chỉ IP) của máy chủ cài đặt MySQL. tên_truy_cập là chuỗi chứa tên truy cập hợp lệ của CSDL cần kết nối mật_khẩu là chuỗi chứa mật khẩu tương ứng với tên truy cập Ví dụ: PHP Code: <? mysql_connect ("localhost", "thu_mot_ti","thu_h ai_ti"); ?> Khi kết nối tới MySQL thành công, hàm sẽ trả về giá trị là một số nguyên định danh của liên kết, ngược lại, hàm trả về giá trị false. Ta có thể dùng hàm if để kiểm tra xem có kết nối được tới MySQL hay không: PHP Code: 13
  • 14. <?php $link = mysql_connect("localhost", "mysql_u ser", "mysql_password"); if (!$link) { echo "Không thể kết nối được tới CSDL MySQL"; } ?> MySQL chạy trên nền máy chủ localhost, người sử dụng có username là mysql_user, mật khẩu là mysql_password. CSDL có tên là CMXQ_Forum, trong đó có một bảng là CMXQ_Users để lưu thông tin .Bảng CMXQ_Users có các trường sau: User_ID: Autonumber.// mã số của người dùng User_Name: Varchar [20] // tên truy cập của người dùng User_Pass: Varchar[64] //mật khẩu của người dùng User_IP: Varchar [15] //Địa chỉ IP của người dùng. Để thực thi một câu lệnh SQL bất kỳ trong PHP tác động lên MySQL, ta dùng hàm mysql_query 14
  • 15. hêm một bản ghi vào bảng. Ví dụ :muốn chèn thêm một người sử dụng có User_Name là "CMXQ", User_Pass là "123456", User_Post=0 ta làm như sau: PHP Code: <? $sql = "INSERT INTO CMXQ_Users (User_Name, User_Pass) VALUES ("CMXQ","123456",0); mysql_query ($sql); ?> II. Xóa một bản ghi khỏi bảng. Trong trường hợp này, ta sử dụng câu lệnh SQL DELETE FROM: VD: tôi muốn xóa khỏi bảng CMXQ_Users tất cả những người có User_Name="CMXQ": PHP Code: <? $sql = "DELETE FROM CMXQ_Users WHERE User_Name='CMXQ'" ; mysql_query ($sql); ?> III. Sửa thông tin của bản ghi trong bảng. Trong trường hợp này, tôi sử dụng cú pháp UPDATE: VD: muốn cập nhật địa chỉ IP cho người có User_Name="CMXQ" với địa chỉ IP được lấy từ trình duyệt: PHP Code: <? $sql = "UPDATE CMXQ_Users SET User_IP ='" . $_SERVER[' REMOTE_ADDR'] . "' Where User_Name='CMXQ'"; mysql_query ($sql); ?> Khi kết nối tới CSDL MySQL, chúng ta có 2 hàm kết nối là mysql_connect() và mysql_pconnect(). Về cơ bản thì hai hàm này có các tham số y hệt nhau, nhưng nội hàm của chúng có những khác biệt đáng kể. 15
  • 16. Theo lý thuyết, mỗi lần gọi hàm mysql_connect(), hệ thống sẽ khởi tạo một kết nối mới tới CSDL, còn khi sử dụng hàm mysql_pconnect(), hệ thống sẽ tận dụng kết nối đã được thiết lập trước đó. 0-ếu trang Web của chúng ta được triệu gọi nhiều lần trong một khoảng thời gian ngắn, hàm mysql_connect() sẽ tiêu tốn một lượng đáng kể tài nguyên của hệ thống để thiết lập kết nối. Vì vậy, hãy cố gắng sử dụng hàm kết nối mysql_pconnect(). Nhiều người thường thích truy vấn dạng "Select *...". Dấu * ở đây sẽ bắt hệ thống làm việc mệt nhọc hơn vì phải xử lý nhiều dữ liệu hơn. Dữ liệu trả về cũng tiêu tốn nhiều bộ nhớ hơn. Vì vậy, thay vì select *, hãy chỉ select những trường cần thiết. Một vấn đề nữa là khi sử dụng hàm mysql_fetch_array, nhiều người thường bỏ qua các tham số tuỳ chọn. Nếu có thể, hãy sử dụng tham số MYSQL_ASSOC, khi đó hệ thống sẽ trả về một mảng với chỉ số là tên trường, như vậy các bạn sẽ dễ hình 16
  • 17. dung và đỡ tốn bộ nhớ vì phải phát sinh thêm một mảng với chỉ số dạng số. • Hàm trong PHP :Các hàm dựng sẵn trong PHP (PHP Built-in functions) là các hàm đã được các nhà phát triển PHP cài đặt sẵn, và chúng ta chỉ việc đem ra sử dụng. Cần phân biệt các hàm này với các hàm do người dùng tự cài đặt (user functions). Các hàm do người dùng tự xây dựng chỉ có thể được dùng trong chương trình có chứa hàm đó. Khi chuyển qua một ứng dụng khác, nếu chúng ta không viết lại các hàm đó thì chúng ta sẽ không thể sử dụng. • Các câu lệnh gán và rẽ nhánh trong PHP : Lệnh gán Lệnh này đã được học ở bài trước: Cú pháp: PHP Code: $ten_bien = gia_tri; Ví dụ: PHP Code: $ngay_sinh="1/4/1980"; $que_quan="Thanh Hoa"; $luong=300000; 17
  • 18. 2. Các câu lệnh rẽ nhánh Trong PHP có 2 dạng rẽ nhánh: rẽ hai nhánh (if) và rẽ nhiều nhánh. Lệnh rẽ nhánh là một trong những câu lệnh quan trọng nhất của tất cả các ngôn ngữ lập trình. Nó cho phép bạn thực thi một đoạn mã khi mà điều kiện chỉ định là đúng. Trong PHP, lệnh rẽ nhánh có dạng sau: PHP Code: if (điều kiện) { công việc cần làm } Ví dụ: if ($name="Sinh") { echo ("Good morning, my boss"); } Nếu khối câu lệnh cần làm chỉ bao gồm duy nhất một dòng lệnh, ta có thể bỏ cặp dấu {} : PHP Code: if ($name="Sinh") echo ("Good morning, my boss"); Nhưng nếu nhiều hơn một dòng lệnh, ta phải đưa chúng vào cặp dấu ngoặc {}: 18
  • 19. if ($name=="Sinh") { echo ("Good morning, my boss"); echo ("Have a romantic day!"); } Đoạn lệnh trên sẽ kiểm tra nếu điều kiện biến $name = "Sinh" thì nó sẽ hiển thị lời chào. Còn nếu không thì nó không làm gì cả! Điều kiện đặt vào có thể là đúng, có thể là sai, có thể là tổng hợp của nhiều điều kiện. Hãy xem ví dụ sau: PHP Code: if ("false" ) echo ("Khong co gi ca"); if (($name=="sinh") && ($pass=="test")) echo ($name. "đã nhập đúng password") ; Đoạn lệnh trên có thể viết tương đương với: PHP Code: if ($name=="sinh") { if ($pass=="test") echo ($name. "đã nhập đúng password") ; } Như bạn thấy ở trên, trong một câu lệnh, chúng ta có thể chèn nhiều đoạn lệnh khác, người ta gọi đó là cấu trúc 19
  • 20. khối, tức là trong một khối lệnh, có thể có chứa nhiều khối lệnh con khác. Nếu bạn phải đọc mã nguồn của người khác, hi vọng bạn không bị hoa mắt vì hàng chục khối lệnh chen chúc vào nhau như vậy. Chúng ta có thể sử dụng các toán tử &&, || hay xor để kết nối các điều kiện với nhau như bạn thấy ở trên Câu lệnh rẽ nhánh đầy đủ: Nếu điều kiện kiểm tra trả về false (sai), PHP cho phép chúng ta chỉ định thực thi một khối mã lệnh khác bằng từ khoá else Ví dụ: PHP Code: if (($name=="sinh") && ($pass=="test")) { echo ("Good day, ".$name); } else { echo {"Sai mat khau!") } Chú ý đến một ngoại lệ sau: Trước từ khoá else không bao giờ có dấu chấm phẩy (. Lệnh rẽ nhiều nhánh: 20
  • 21. Với câu lệnh if, PHP cho phép chúng ta rẽ nhiều nhánh thông qua từ khoá elseif: PHP Code: if (dieu_kien1) { doan_lenh_1; } elseif (dieu_kien_2) { doan_lenh_2 } elseif (dieu_kien_3) } // bao nhiêu từ khoá elseif cũng được else { doan_lenh_n } Ví dụ: PHP Code: if ($thu==2) { echo ("Chao co, van, su, ly"); } elseif ($thu==3) { echo (" Hoa, Sinh, Dia, GDCD"); } elseif ($thu==4) { echo ("KTCN, Van, Toan, Tieng Anh"); 21
  • 22. } elseif ($thu==5) { echo (" Hoa, Toan, Van, Tin"); } elseif ($thu==6) { echo ("Toan, Van, Anh, Sinh hoat"); } else { Trong ví dụ trên, chúng ta đã lặp đi lặp lại thao tác kiểm tra giá trị của biến $thu, mặc dù nó không thay đổi qua các dòng. Để khắc phục sự dài dòng này, PHP cho phép ta sử dụng câu lệnh switch. Câu lệnh này sẽ được sử dụng để kiểm tra khi muốn xem xét qua nhiều giá trị của một biến: PHP Code: switch ($bien){ Case gia_tri 1: doan_lenh_1; Case gia_tri 2: doan_lenh_2; Case gia_tri n: doan_lenh_n; default: doan_lenh_khac; } Ví dụ: PHP Code: 22
  • 23. switch ($thu){ case 2: echo ("Chao co, van, su, ly"); case 3: echo (" Hoa, Sinh, Dia, GDCD"); case 4: echo ("KTCN, Van, Toan, Tieng Anh"); case 5: echo (" Hoa, Toan, Van, Tin"); case 6: echo ("Toan, Van, Anh, Sinh hoat"); default: Câu lệnh switch sẽ ước lượng giá trị của biến $thu, và so sánh nó với giá trị của mệnh đề case. Khi một giá trị hợp lệ được tìm thấy, nó sẽ thực hiện câu lệnh tương ứng với giá trị đó. Còn nếu không, nó sẽ tự động thực hiện câu lệnh trong mệnh đề default. Hãy chú ý rằng mệnh đề defaul là tuỳ chọn (bạn có thể có nó hoặc không cần nó) • Các kiểu dữ liệu trong PHP PHP có 3 kiểu dữ liệu cơ bản: Integer, double và string Kiểu giá trị Integer sử dụng 4 byte của bộ nhớ. Đây là kiểu giá trị nguyên (không phải là số thực) và có giá trị nằm trong khoảng từ -2 tỷ đến 2 tỷ. Kiểu dữ liệu double là kiểu dữ liệu số thực, cho 23
  • 24. phép chứa các số thưc. Kiểu String được sử dụng để chứa các dữ liệu như là các ký tự văn bản, ký tự đặc biệt và các chữ số. Dữ liệu kiểu string được đặt trong cặp dấu ngoặc kép ("") chỉ định một xâu (hay còn gọi là chuỗi ký tự). Ví dụ: 2: Kiểu integer; 2.0: kiểu double "2": Kiểu xâu "2 gio": Kiểu xâu E.Xây dựng,thiết kế cài đặt chương trình 1. phpMyadmin là một công cụ để quản lý cơ sở dữ liệu MySQL và là công cụ hoàn toàn miễn phí Tạo database bằng PHP: 24
  • 25. Để tạo mới database các bạn chỉ việc nhập tên cần tạo vào textbox và nhấn nút “Create” như hình sau : Tạo table (bảng) : Sau khi tạo database xong thì các bạn sẽ thấy 1 form nhập liệu như hình sau: chỉ việc nhập tên table và số trường (field) muốn tạo. Trong ví dụ này mình đặt tên bảng là “web_members” và có 4 trường (id, name, lastname, email) . có thể nhìn hình bên dưới để dễ hiểu hơn Tạo table bằng cách sử dụng câu lệnh SQL: 25
  • 26. copy đoạn code sau và dán (paste) nó vào ô trống và nhấn nút ” Go ” để thực thi câu lệnh CREATE TABLE `web_members` ( `id` int(4) NOT NULL auto_increment, `name` varchar(65) NOT NULL default '', `lastname` varchar(65) NOT NULL default '', `email` varchar(65) NOT NULL default '', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; Sao lưu ( Export ) database : click chuột vào tab Export và click vào tùy chọn như hình bên dưới 26
  • 27. lược đồ quan hệ: BẢNG SINH VIÊN: SINHVIEN(MSSV,TEN,PHAI,DIACHI,DIENTHOAI,MAKHOA) BẢNG KHOA: KHOA(MAKHOA,TENKHOA,SL_CBGD) BẢNG GIÁO VIÊN: GIAOVIEN(MAGVTENGV,MAKHOA) BẢNG MÔN HỌC: MONHOC(MAMH,TENMH,SOTC) BẢNG GIẢNG DẠY:GIANGDAY(MAKHOAHOC,MAGV,MAMH,HOCKY,NAM) bảng KẾT QUẢ: KETQUA(MSSV,MAKHOAHOC,DIEM) 27
  • 28. • Kết nối cơ sở dữ liệu bằng PHP: Bởi vì PHP và MySQL là hai thế giới tách biệt nhau. muốn dùng PHP để làm việc được với CSDL phải tạo ra sợi dây liên kết giữa hai <? mysql_connect("localhost", "root","") or die ("Could not connect to database"); mysql_select_db("guestbook") or die ("Could not select database"); ?> Dòng đầu tiên thực hiện việc kết nối với Database Server đang nằm trên máy localhost, có username là root, password là rỗng. Nếu kết nối thành công, nó sẽ thực hiện bước kế tiếp là kết nối với database nằm trong đó là guestbook bằng lệnh mysql_select_db(). các lệnh trên sử dụng thường xuyên cho mọi kết nối CSDL ên lưu nó vào một tập tin dbconnect.php sau này cần thì chỉ việc dùng lệnh include(dbconnect.php); 28
  • 29. ERD: erd quản lý sinh viên ERD : • ERD là lược đồ thể hiện cấu trúc trừu tượng hóa của dữ liệu trong tổ chức , dựa trên khái niệm thực thể (entity) , và quan hệ ( relationship) Phân biệt Mô hình ERD và Lược đồ quan hệ 29
  • 30. VPS là gì? Máy chủ ảo (Virtual Private Server - VPS) là phương pháp phân chia một máy chủ vật lý thành nhiều máy chủ ảo. Trong khi trên 1 server chạy Share Host thì có thể có hàng trăm tài khoản cùng chạy 1 lúc, nhưng trên server chạy VPS thì con số chỉ bằng 1/10. Do vây, VPS có hiệu năng cao hơn Share Host rất nhiều lần. Đặc điểm về thông số VPS? Hoạt động hoàn toàn như một server riêng nên sở hữu một phần CPU riêng, dung lượng Ram riêng, dung lượng ổ HDD riêng, địa chỉ Ip riêng và hệ điều hành riêng. * Tiết kiệm được rất nhiều chi phí nếu so sánh với việc thuê một Server riêng. * Ngoài việc dùng VPS để thiết lập Web Server, Mail Server cũng như các ứng dụng khác thì có thể cài đặt để thực hiện những nhu cầu riêng như truy cập Web bằng trình duyệt Web trên VPS, download/upload bittorent với tốc độ 30
  • 31. cao... * Trong trường hợp VPS bị thiếu tài nguyên có thể dễ dàng nâng cấp thêm tài nguyên mà không phải khởi động lại hệ thống. * Có thể cài lại hệ điều hành vời thời gian từ 5-10 phút. h ng d n chi ti t cách càiướ ẫ ế VPS : hãy tr domain v IP c a VPSỏ ề ủ b iở vì khi cài cách này s ng nh p b ngẽ đă ậ ằ giao th c SSL nênnó không h tr ngứ ỗ ợ đă nh p b ng IP.ậ ằ u tiên ng nh p vào VPS vàĐầ đă ậ cài wget 1 yum install wget Và cài thêmPerl yum install perl Sau ó ch y l nh này t i script cài t v .đ ạ ệ để ả đặ ề wget http://software.virtualmin.com/gpl/scr ipts/install.sh Sau ó ch y ti pđ ạ ế sh ./install.sh 31
  • 32. n nút Next b t u,ấ để ắ đầ t o m i MySQL password và nh p domain c aạ ớ ậ ủ Primary Server thì c nh p bình th ngứ ậ ườ n nútRecheck ki m tra l i cácthi t l pấ để ể ạ ế ậ . Tìm kiếm tên chủ sử dụng trong PHP $csd = $_POST['csd']; Select * FROM baocao WHERE tenchu ILIKE %$csd% Tích hợp DNS vào AD database: Mở DNS -> Forward Lookup Zones -> right click domain name -> Properties -> tab General -> mục Type -> Change -> check Store the zone in Active Directory (nếu chưa check) -> OK. Lúc đó ta thấy dòng chữ Data is stored in Active Directory. Mục Dynamic updates chọn Secure only (nếu chưa chọn) -> OK 32
  • 33. Backup và Restore MySQL database vào phpmyadmin rồi thì các bạn bấm chọn database cần kiểm tra bên tay trái 33