SlideShare a Scribd company logo
1 of 33
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
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
NHẬN XÉT CỦA GIÁO VIÊN
.........................................................................................
.........................................................................................
.........................................................................................
.........................................................................................
.........................................................................................
.........................................................................................
.........................................................................................
.........................................................................................
.........................................................................................
.........................................................................................
.........................................................................................
.........................................................................................
.........................................................................................
.........................................................................................
.........................................................................................
.........................................................................................
.........................................................................................
.........................................................................................
........................................................................................
.........................................................................................
.........................................................................................
NHẬN XÉT CỦA NƠI THỰC TẬP
........................................................................................
.........................................................................................
.........................................................................................
.........................................................................................
.........................................................................................
.........................................................................................
.
3
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
• 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
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
+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
- 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
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
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
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
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
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
<?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
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
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
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
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
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
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
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
}
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
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
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
Để 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
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
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
• 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
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
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
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
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
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

More Related Content

What's hot

4. cong nghe thong tin
4. cong nghe thong tin4. cong nghe thong tin
4. cong nghe thong tinAlbert Pham
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên nataliej4
 
1.gioi thieu-ai-e learning 2020 (dai hoc - cao dang) v4
1.gioi thieu-ai-e learning 2020 (dai hoc - cao dang) v41.gioi thieu-ai-e learning 2020 (dai hoc - cao dang) v4
1.gioi thieu-ai-e learning 2020 (dai hoc - cao dang) v4taytuutronghoa
 
Bao cao thuc_tap
Bao cao thuc_tapBao cao thuc_tap
Bao cao thuc_taplozzec92
 
Sáng kiến kinh nghiệm chưa đăng ký!
Sáng kiến kinh nghiệm chưa đăng ký!Sáng kiến kinh nghiệm chưa đăng ký!
Sáng kiến kinh nghiệm chưa đăng ký!Nguyen osm
 
STSV 2019.pdf
STSV 2019.pdfSTSV 2019.pdf
STSV 2019.pdfTamDo58
 
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Tú Cao
 

What's hot (15)

4. cong nghe thong tin
4. cong nghe thong tin4. cong nghe thong tin
4. cong nghe thong tin
 
Dân sự hntttttttttttttttt
Dân sự hnttttttttttttttttDân sự hntttttttttttttttt
Dân sự hntttttttttttttttt
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
 
Dân sự hntttttttttttttttt
Dân sự hnttttttttttttttttDân sự hntttttttttttttttt
Dân sự hntttttttttttttttt
 
Dân sự hntttttttttttttttt
Dân sự hnttttttttttttttttDân sự hntttttttttttttttt
Dân sự hntttttttttttttttt
 
Dân sự hntttttttttttttttt
Dân sự hnttttttttttttttttDân sự hntttttttttttttttt
Dân sự hntttttttttttttttt
 
1.gioi thieu-ai-e learning 2020 (dai hoc - cao dang) v4
1.gioi thieu-ai-e learning 2020 (dai hoc - cao dang) v41.gioi thieu-ai-e learning 2020 (dai hoc - cao dang) v4
1.gioi thieu-ai-e learning 2020 (dai hoc - cao dang) v4
 
Đồ Án
Đồ ÁnĐồ Án
Đồ Án
 
Bao cao thuc_tap
Bao cao thuc_tapBao cao thuc_tap
Bao cao thuc_tap
 
Baocao athena
Baocao athenaBaocao athena
Baocao athena
 
Sáng kiến kinh nghiệm chưa đăng ký!
Sáng kiến kinh nghiệm chưa đăng ký!Sáng kiến kinh nghiệm chưa đăng ký!
Sáng kiến kinh nghiệm chưa đăng ký!
 
STSV 2019.pdf
STSV 2019.pdfSTSV 2019.pdf
STSV 2019.pdf
 
Tbtsds hà nội 2015
Tbtsds  hà nội 2015Tbtsds  hà nội 2015
Tbtsds hà nội 2015
 
Dân sự hntttttttttttttttt
Dân sự hnttttttttttttttttDân sự hntttttttttttttttt
Dân sự hntttttttttttttttt
 
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
 

Similar to Vo minh truong 102991 bao cao thuc tap

Bao cao thuc tap athena
Bao cao thuc tap athenaBao cao thuc tap athena
Bao cao thuc tap athenaPac CE
 
Bao cao cuoi ky
Bao cao cuoi kyBao cao cuoi ky
Bao cao cuoi kylehuyvinh
 
Bao cao hoàn chỉnh
Bao cao hoàn chỉnhBao cao hoàn chỉnh
Bao cao hoàn chỉnhCuong Nguyen
 
K16 cmutcd phanthimyhanh_161136604_srs
K16 cmutcd phanthimyhanh_161136604_srsK16 cmutcd phanthimyhanh_161136604_srs
K16 cmutcd phanthimyhanh_161136604_srstrhiendh
 
Đồ Án Phân Tích Và Thiết Kế Hệ thống Thông Tin Quản Lý Giảng Viên.pdf
Đồ Án Phân Tích Và Thiết Kế Hệ thống Thông Tin Quản Lý Giảng Viên.pdfĐồ Án Phân Tích Và Thiết Kế Hệ thống Thông Tin Quản Lý Giảng Viên.pdf
Đồ Án Phân Tích Và Thiết Kế Hệ thống Thông Tin Quản Lý Giảng Viên.pdfNuioKila
 
Luận Văn Đề Cương Công Nghệ Thông Tin Lập Trình Ứng Dụng Cho Mobile.doc
Luận Văn  Đề Cương Công Nghệ Thông Tin Lập Trình Ứng Dụng Cho Mobile.docLuận Văn  Đề Cương Công Nghệ Thông Tin Lập Trình Ứng Dụng Cho Mobile.doc
Luận Văn Đề Cương Công Nghệ Thông Tin Lập Trình Ứng Dụng Cho Mobile.docsividocz
 
BÁO CÁO THỰC TẬP CUỐI KHÓA - TRUNG TÂM ATHENA
BÁO CÁO THỰC TẬP CUỐI KHÓA  - TRUNG TÂM ATHENABÁO CÁO THỰC TẬP CUỐI KHÓA  - TRUNG TÂM ATHENA
BÁO CÁO THỰC TẬP CUỐI KHÓA - TRUNG TÂM ATHENAKiên Nguyễn
 
Báo cáo athena
Báo cáo athenaBáo cáo athena
Báo cáo athenaTrung Mai
 
Báo cáo thực tập
Báo cáo thực tậpBáo cáo thực tập
Báo cáo thực tậpwindyntt
 
Baocaocuoiky
BaocaocuoikyBaocaocuoiky
Baocaocuoikylehuyvinh
 
[Athena] Báo cáo thực tập - Mai Hoàng Phong
[Athena] Báo cáo thực tập - Mai Hoàng Phong[Athena] Báo cáo thực tập - Mai Hoàng Phong
[Athena] Báo cáo thực tập - Mai Hoàng PhongPhong Hoang
 
Xây dựng phần mềm quản lý nhân sự tại công ty cổ phần Thiên Minh
Xây dựng phần mềm quản lý nhân sự tại công ty cổ phần Thiên MinhXây dựng phần mềm quản lý nhân sự tại công ty cổ phần Thiên Minh
Xây dựng phần mềm quản lý nhân sự tại công ty cổ phần Thiên Minhhieu anh
 
Lehoangphi bacaocuoiky
Lehoangphi bacaocuoikyLehoangphi bacaocuoiky
Lehoangphi bacaocuoikyLehoangphi581
 
Triển khai hệ thống zoobies, botnet trên mạng internet
Triển khai hệ thống zoobies, botnet trên mạng internetTriển khai hệ thống zoobies, botnet trên mạng internet
Triển khai hệ thống zoobies, botnet trên mạng internetLong Vũ
 
Do an ly thuyet nhom 18 - nvspk02
Do an ly thuyet   nhom 18 - nvspk02Do an ly thuyet   nhom 18 - nvspk02
Do an ly thuyet nhom 18 - nvspk02Thaomashi
 

Similar to Vo minh truong 102991 bao cao thuc tap (20)

Đề tài: Xây dựng hệ thống thông tin quản lý quầy thuốc tại bệnh viện
Đề tài: Xây dựng hệ thống thông tin quản lý quầy thuốc tại bệnh việnĐề tài: Xây dựng hệ thống thông tin quản lý quầy thuốc tại bệnh viện
Đề tài: Xây dựng hệ thống thông tin quản lý quầy thuốc tại bệnh viện
 
Bao cao thuc tap athena
Bao cao thuc tap athenaBao cao thuc tap athena
Bao cao thuc tap athena
 
Bao cao cuoi ky
Bao cao cuoi kyBao cao cuoi ky
Bao cao cuoi ky
 
Bao cao hoàn chỉnh
Bao cao hoàn chỉnhBao cao hoàn chỉnh
Bao cao hoàn chỉnh
 
K16 cmutcd phanthimyhanh_161136604_srs
K16 cmutcd phanthimyhanh_161136604_srsK16 cmutcd phanthimyhanh_161136604_srs
K16 cmutcd phanthimyhanh_161136604_srs
 
Đồ Án Phân Tích Và Thiết Kế Hệ thống Thông Tin Quản Lý Giảng Viên.pdf
Đồ Án Phân Tích Và Thiết Kế Hệ thống Thông Tin Quản Lý Giảng Viên.pdfĐồ Án Phân Tích Và Thiết Kế Hệ thống Thông Tin Quản Lý Giảng Viên.pdf
Đồ Án Phân Tích Và Thiết Kế Hệ thống Thông Tin Quản Lý Giảng Viên.pdf
 
Luận Văn Đề Cương Công Nghệ Thông Tin Lập Trình Ứng Dụng Cho Mobile.doc
Luận Văn  Đề Cương Công Nghệ Thông Tin Lập Trình Ứng Dụng Cho Mobile.docLuận Văn  Đề Cương Công Nghệ Thông Tin Lập Trình Ứng Dụng Cho Mobile.doc
Luận Văn Đề Cương Công Nghệ Thông Tin Lập Trình Ứng Dụng Cho Mobile.doc
 
BÁO CÁO THỰC TẬP CUỐI KHÓA - TRUNG TÂM ATHENA
BÁO CÁO THỰC TẬP CUỐI KHÓA  - TRUNG TÂM ATHENABÁO CÁO THỰC TẬP CUỐI KHÓA  - TRUNG TÂM ATHENA
BÁO CÁO THỰC TẬP CUỐI KHÓA - TRUNG TÂM ATHENA
 
Báo cáo athena
Báo cáo athenaBáo cáo athena
Báo cáo athena
 
Báo cáo thực tập
Báo cáo thực tậpBáo cáo thực tập
Báo cáo thực tập
 
Slide athena
Slide athenaSlide athena
Slide athena
 
Baocaocuoiky
BaocaocuoikyBaocaocuoiky
Baocaocuoiky
 
[Athena] Báo cáo thực tập - Mai Hoàng Phong
[Athena] Báo cáo thực tập - Mai Hoàng Phong[Athena] Báo cáo thực tập - Mai Hoàng Phong
[Athena] Báo cáo thực tập - Mai Hoàng Phong
 
Xây dựng phần mềm quản lý nhân sự tại công ty cổ phần Thiên Minh
Xây dựng phần mềm quản lý nhân sự tại công ty cổ phần Thiên MinhXây dựng phần mềm quản lý nhân sự tại công ty cổ phần Thiên Minh
Xây dựng phần mềm quản lý nhân sự tại công ty cổ phần Thiên Minh
 
BCTTTN
BCTTTNBCTTTN
BCTTTN
 
Lehoangphi bacaocuoiky
Lehoangphi bacaocuoikyLehoangphi bacaocuoiky
Lehoangphi bacaocuoiky
 
Tin hoc can ban bai tap
Tin hoc can ban   bai tapTin hoc can ban   bai tap
Tin hoc can ban bai tap
 
Athena
AthenaAthena
Athena
 
Triển khai hệ thống zoobies, botnet trên mạng internet
Triển khai hệ thống zoobies, botnet trên mạng internetTriển khai hệ thống zoobies, botnet trên mạng internet
Triển khai hệ thống zoobies, botnet trên mạng internet
 
Do an ly thuyet nhom 18 - nvspk02
Do an ly thuyet   nhom 18 - nvspk02Do an ly thuyet   nhom 18 - nvspk02
Do an ly thuyet nhom 18 - nvspk02
 

More from Cu Sock

Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Cu Sock
 
Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Cu Sock
 
Vo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapVo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapCu Sock
 
Vo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapVo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapCu Sock
 
Vo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapVo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapCu Sock
 
Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Cu Sock
 
Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Cu Sock
 
Bao thuc tap tot nghiep
Bao thuc tap tot nghiepBao thuc tap tot nghiep
Bao thuc tap tot nghiepCu Sock
 

More from Cu Sock (8)

Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191
 
Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191
 
Vo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapVo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tap
 
Vo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapVo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tap
 
Vo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapVo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tap
 
Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191
 
Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191
 
Bao thuc tap tot nghiep
Bao thuc tap tot nghiepBao thuc tap tot nghiep
Bao thuc tap tot nghiep
 

Vo minh truong 102991 bao cao thuc tap

  • 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