Slide mã nguồn mở PHP MYSQL. Apache, PHP, MySQL là các phần của chương trình phần mềm mã nguồn mở. Phần mềm này là sự hợp tác của những lập trình viên có đầu óc. Bằng việc thay đổi trên những mã nguồn có sẵn, các lập trình viên trên thế giới tiếp tục hoàn thiện và phát triền nó ngày càng trở nên mạnh hơn và hiệu quả hơn. Sự đóng góp của những người này được đưa ra công khai cho người khác sử dụng mã nguồn, tạo ra các phần mềm nổi tiếng trên thế giới.
Trang 1Các hệ thống mã nguồn mở và di động
Tìm hiểu về PHP và MySQL
Giáo viên hướng dẫn:
Nhóm thực hiện:
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
VIỆN ĐÀO TẠO SAU ĐẠI HỌC Khoa Công nghệ thông tin
Trang 2 Sơ lược về Apache, PHP và MySQL
Cài đặt và các thao tác cơ bản
Ứng dụng PHP & MySQL
Nội dung
Trang 3 Apache là một phần mềm mã nguồn mở miễn phí được cài
đặt trên các máy chủ web server (phần cứng) để xử lý các yêu cầu gửi tới máy chủ dưới giao thức HTTP
Apache có thể chạy trên các hệ điều hành Unix, Microsoft
Windows, Novell Netware và một số hệ điều hành khác
Apache là chương trình máy chủ mã nguồn mở duy nhất có
khả năng cạnh tranh với chương trình máy chủ tương tự của Netscape Communications Corporation mà ngày nay được biết đến qua tên thương mại Sun Java System Web Server Tính đến tháng 1 năm 2007 thì Apache chiếm đến 60% thị trường các chương trình phân phối webServer
Sơ lược về Apache
Trang 4 MySQL là cơ sở dữ liệu SQL mã nguồn mở thông dụng
nhất, được cung cấp bởi MySQL AB MySQL AB là một công ty thương mại thực hiện việc tạo ra các dịch vụ cung cấp cho doanh nghiệp dựa trên cơ sở dữ liệu MySQL
xử lý dữ liệu được lưu trữ trong một CSDL máy tính, ta cần một hệ quản trị CSDL như MySQL MySQL đóng một vai trò chính yếu trong việc tính toán, như là các công cụ đơn lẻ, hoặc một phần của các ứng dụng khác
Hệ quản trị CSDL MySQL
Trang 5 MySQL là một hệ quản trị CSDL quan hệ
Một CSDL quan hệ lưu trữ dữ liệu trong một số bảng
chuyên biệt tốt hơn là việc đặt toàn bộ dữ liệu trong một nơi lưu trữ lớn Điều này làm tăng thêm tốc độ và sự linh hoạt
Các bảng được liên kết với nhau bằng cách định nghĩa các
quan hệ tạo cho nó khả năng kết nối dữ liệu từ một vài bảng khác nhau theo yêu cầu
Hệ quản trị CSDL MySQL
Trang 6 MySQL là 1 phần mềm mã nguồn mở, có nghĩa là nó có thể
được sử dụng bởi bất kỳ ai cho bất kỳ mục đích sử dụng hoặc thay đổi nào Ai cũng có thể download MySQL từ internet và sử dụng nó mà không phải trả bất cứ một khoản phí nào
MySQL rất nhanh, đáng tin cậy và dễ sử dụng
MySQL đã được phát triển một cách sáng tạo để nắm bắt
các CSDL rất lớn và nhanh hơn rất nhiều các giải pháp hiện tại
Hệ quản trị CSDL MySQL
Trang 7 PHP (“PHP: Hypertext Preprocessor”) là một ngôn ngữ
script được nhúng trên server HTML
Thay vì viết một chương trình với rất nhiều lệnh để xuất ra
HTML, ta viết một script HTML với một số mã nhúng để thực hiện một công việc nhất định
Mã PHP được đóng gói trong các tag bắt đầu và các tag kết
thúc đặc biệt cho phép ta nhảy vào và nhảy ra chế độ PHP
Thậm chí ta có thể cấu hình Webserver của ta để xử lý tất cả
các file HTML bằng PHP
Sơ lược về PHP
Trang 8 PHP có thể làm bất kỳ điều gì mà các chương trình CGI khác
có thể làm, ví dụ như tập hợp các dạng dữ liệu, sinh ra nội dung các trang web động, hoặc gửi và nhận các cookie
Đặc điểm mạnh nhất và thuận tiện nhất trong PHP là nó có khả năng hỗ trợ rất nhiều loại cơ sở dữ liệu, khiến cho việc viết một trang web có tương tác cơ sở dữ liệu trở nên hết sức đơn giản
PHP cũng hỗ trợ cho việc “nói chuyện” với các dịch vụ khác
sử dụng các thao tác như IMAP, SNMP, NNTP, POP3, HTTP
và vô số giao thức khác Ta cũng có thể mở các socket mạng mới và tương tác sử dụng các giao thức khác
Sơ lược về PHP
Trang 9 Hiện nay có rất nhiều hệ thống hỗ trợ cài đặt trọn gói cả
Apache, MySQL, PHP5 như : XAMPP, WampServer
Người dùng có thể dễ dàng download những chương trình này
và chạy file cài đặt, lựa chọn những phần mềm cần sử dụng và chờ đợi Trong đề tài này, chúng em sẽ cài đặt dựa trên
XAMPP
Cài đặt cơ bản Apache, MySQL và PHP
Trang 10Giao diện cài đặt
Trang 11Cài đặt cơ bản Apache, MySQL và PHP
Giao diện chính
Trang 12Cấu hình và thao tác Apache
Toàn bộ cấu hình của Apache đều được lưu dưới dạng text
File cấu hình chính là httpd.conf nằm trong thư mục {apache_dir}\conf
Trong file này có thể chứa các khai báo include đến những file cấu hình khác
Mỗi dòng trong file cấu hình đều mang 1 ý nghĩa
– Là khoảng trắng
– Là chú thích (bắt đầu bằng ký tự #)
– Là khai báo (gồm từ khóa và giá trị) Từ khóa và giá trị
Toàn bộ tài liệu về Apache (bao gồm cả các khai báo cấu hình) đều được cài đặt (mặc định) cùng với Apache Có thể truy cập vào tài liệu này thông qua URL (có dấu / cuối cùng) http://<tên máy/ IP>/manual/
Thông thường URL trên sẽ bị vô hiệu hóa (mặc định) cho đến khi bỏ chú
thích dòng “Include conf/extra/httpd-manual.conf” trong file cấu hình chính (httpd.conf) và restart lại Apache.
Trang 13Cấu hình và thao tác Apache
Một số khai báo thường gặp khi cấu hình Apache:
– Listen: Khai báo web server sẽ được dùng tại IP nào và cổng
nào Có thể khai báo nhiều lần
– LoadModule: Khai báo các module được nạp vào khi
Apache khởi động Nên dùng để bỏ bớt các module không cần thiết hoặc nạp module do người dùng tự viết
– ServerName: Tên của server Nếu Apache không tìm được
tên của máy tính qua DNS thì khai báo này bắt buộc phải có
– DirectoryIndex: Khai báo các file mặc định
– AddDefaultCharset: Khai báo bảng mã mặc định của luồng
siêu văn bản trả về cho client
Trang 14Cấu hình và thao tác Apache
Một số khai báo thường gặp khi cấu hình Apache:
– DocumentRoot: Thư mục gốc của web server Cần lưu ý đến
quyền của hệ thống gán lên thư mục này đối với account dùng
để chạy Apache
– Directory: Là khai báo khối (bên trong chứa các khai báo
con) dùng để định nghĩa quy tắc ứng xử của Apache đối với từng thư mục
– VirtualHost: Là khai báo khối, dùng để định nghĩa các web
server ảo theo tên trên một máy tính duy nhất
– Alias: Dùng để tạo các thư mục ảo
Trang 15Ngôn ngữ MySQL và các cú pháp cơ bản
Khái niệm cơ sở dữ liệu, bảng, cột:
• Cơ sở dữ liệu: là tên của cơ sở dữ liệu chúng ta muốn sử
dụng
• Bảng: là 1 bảng giá trị nằm trong cơ sở dữ liệu
• Cột: là 1 giá trị nằm trong bảng Dùng để lưu trữ các trường
dữ liệu
Ví dụ:
Trang 16Ngôn ngữ MySQL và các cú pháp cơ bản
• NULL: Giá trị cho phép rỗng.
• AUTO_INCREMENT: Cho phép giá trị tăng dần (tự động).
• UNSIGNED: Phải là số nguyên dương
• PRIMARY KEY: Cho phép nó là khóa chính trong bảng.
Trang 17Ngôn ngữ MySQL và các cú pháp cơ bản
Trang 18Ngôn ngữ MySQL và các cú pháp cơ bản
• Cú pháp tạo 1 cơ sở dữ liệu:
CREATE DATABASE tên_cơ_sở_dữ_liệu;
• Cú pháp sử dụng cơ sở dữ liệu:
Use tên_database;
• Cú pháp thoát khỏi cơ sở dữ liệu:
Exit
• Cú pháp tạo 1 bảng trong cơ sở dữ liệu:
CREATE TABLE user (<tên_cột><mô_tả>,
…,<tên_cột_n>… <mô_tả_n>)
Trang 19Ngôn ngữ MySQL và các cú pháp cơ bản
• Hiển thị có bao nhiều bảng:
show tables;
• Hiển thị có bao nhiêu cột trong bảng:
show columns from table;
• Thêm 1 cột vào bảng :
ALTER TABLE tên_bảng ADD <tên_cột><thuộc_tính> AFTER
<tên_cột>
• Thêm giá trị vào bảng:
INSERT INTO Tên_bảng(tên_cột) VALUES(Giá_trị_tương_ứng);
Trang 20Ngôn ngữ MySQL và các cú pháp cơ bản
Những cú pháp cơ bản:
• Truy xuất dữ liệu:
Cú pháp: SELECT tên_cột FROM Tên_bảng;
• Truy xuất dữ liệu với điều kiện:
Cú pháp: SELECT tên_cột FROM Tên_bảng WHERE điều kiện;
• Truy cập dữ liệu và sắp xếp theo trình tự
Cú pháp:
SELECT tên_cột FROM Tên_bảng
WHERE điều kiện (có thể có where hoặc không)
ORDER BY Theo quy ước sắp xếp.
Trong đó quy ước sắp xếp bao gồm hai thông số là ASC (từ trên xuống dưới), DESC (từ dưới lên trên).
Trang 21Ngôn ngữ MySQL và các cú pháp cơ bản
Những cú pháp cơ bản:
• Truy cập dữ liệu có giới hạn :
Cú pháp:
SELECT tên_cột FROM Tên_bảng
WHERE điều kiện (có thể có where hoặc không)
LIMIT vị trí bắt đầu, số record muốn lấy ra
• Cập nhật dữ liệu trong bảng:
Cú pháp:
Update tên_bảng set tên_cột=Giá trị mới
WHERE (điều kiện).
Nếu không có ràng buộc điều kiện, chúng sẽ cập nhật toàn bộ giá trị mới của các record trong bảng.
• Xóa dữ liệu trong bảng:
Cú pháp:
DELETE FROM tên_bảng WHERE (điều kiện).
Nếu không có ràng buộc điều kiện, chúng sẽ xó toàn bộ giá trị của các record trong bảng.
Trang 22Ngôn ngữ lập trình Script PHP
PHP cũng có thẻ bắt đầu và kết thúc giống với ngôn ngữ
HTML Chỉ khác, đối với PHP chúng ta có nhiều cách để thể hiện
Cách 1 : Cú pháp chính:
<?php Mã lệnh PHP ?>
Cách 2: Cú pháp ngắn gọn
<? Mã lệnh PHP ?>
Trang 23Ngôn ngữ lập trình Script PHP
PHP cũng có thẻ bắt đầu và kết thúc giống với ngôn ngữ
HTML Chỉ khác, đối với PHP chúng ta có nhiều cách để thể hiện
Để chú thích 1 đoạn dữ liệu nào đó trong PHP ta sử dụng dấu
“//” cho từng dòng Hoặc dùng cặp thẻ “/*…… */” cho từng
cụm mã lệnh
Trang 24Ngôn ngữ lập trình Script PHP
Để xuất dữ liệu ra trình duyệt chúng ta có những dòng cú pháp sau :
+ Echo “Thông tin”;
+ Printf “Thông tin”;
Thông tin bao gồm : biến, chuỗi, hoặc lệnh HTML ….Nếu
giữa hai chuỗi muốn liên kết với nhau ta sử dụng dấu “.”
Trang 25MỘT SỐ KHÁI NIỆM CƠ BẢN TRONG PHP
Biến trong PHP:
• Biến được xem là vùng nhớ dữ liệu tạm thời Và giá trị có thể thay đổi được Biến được bắt đầu bằng ký hiệu “$” Và theo sau chúng là 1 từ, 1 cụm từ nhưng phải viết liền hoặc có gạch dưới.Một biến được xem là hợp lệ khi nó thỏa các yếu tố :
+ Tên của biến phải bắt đầu bằng dấu gạch dưới và theo sau là các ký tự, số hay dấu gạch dưới.
+ Tên của biến không được phép trùng với các từ khóa của PHP.
• Trong PHP, để sử dụng 1 biến thì phải khai báo trước Tuy nhiên, các LTV có thể vừa khai báo vừa gán dữ liệu cho biến cùng lúc Bản thân biến cũng có thể gán cho các kiểu dữ liệu khác tùy theo ý muốn của LTV.
Trang 26MỘT SỐ KHÁI NIỆM CƠ BẢN TRONG PHP
• Nếu biến là cái có thể thay đổi được thì ngược lại hằng là cái chúng ta không thể thay đổi được Hằng trong PHP được định nghĩa bởi hàm define theo cú pháp:
define (string tên_hằng, giá_trị_hằng ).
• Cũng giống với biến hằng được xem là hợp lệ thì phải đáp ứng 1 số yếu tố :
+ Hằng không có dấu “$” ở trước tên.
+ Hằng có thể truy cập bất cứ vị trí nào trong mã lệnh
+ Hằng chỉ được phép gán giá trị duy nhất 1 lần
+ Hằng thường viết bằng chữ in để phân biệt với biến
Trang 27MỘT SỐ KHÁI NIỆM CƠ BẢN TRONG PHP
$last_name= ‘Van A’;
Để liên kết 1 chuỗi và 1 biến chúng ta thường sử dụng dấu
“.”
Trang 28KIỂU DỮ LIỆU TRONG PHP
Các kiểu dữ liệu khác nhau chiếm dung lượng bộ nhớ khác nhau và có thể được xử lý theo các cách khác nhau khi chúng được thao tác trong 1 script
Trong PHP chúng ta có 6 kiểu dữ liệu chính như sau :
Trang 29TOÁN TỬ VÀ CÁC BIỂU THỨC CĂN BẢN TRONG PHP
Đối với mọi ngôn ngữ lập trình, toán tử và biểu thức luôn là những kiến thức cơ bản được sử dụng để xử lý các thao tác trong giai đoạn lập trình Và PHP cũng không ngoại lệ, chúng vẫn có những kiến trúc cơ bản như một ngôn ngữ lập trình thông thường
PHP có 5 toán tử và 3 biểu thức căn bản
Trang 30TOÁN TỬ VÀ CÁC BIỂU THỨC CĂN BẢN TRONG PHP
Toán tử gán:
Chúng ta đã tiếp xúc với toán tử này trong việc khởi tạo 1
biến Nó gồm ký tự đơn = Toán tử gán lấy giá trị của toán
hạng bên phải gán nó vào toán hạng bên trái
Ví dụ:
$name = “Johny Nguyen”;
Trang 31TOÁN TỬ VÀ CÁC BIỂU THỨC CĂN BẢN TRONG PHP
Toán tử số học:
Là dạng phép tính giản đơn cộng, trừ, nhân, chia trong số học Ngoài ra còn có phép chia lấy dư (%) Được sử dụng để lấy ra đơn vị dư của 1 phép toán
Trang 32TOÁN TỬ VÀ CÁC BIỂU THỨC CĂN BẢN TRONG PHP
Toán tử so sánh:
Là toán tử được sử dụng để thực hiện các phép toán so sánh giữa hai số hạng
Trang 33TOÁN TỬ VÀ CÁC BIỂU THỨC CĂN BẢN TRONG PHP
Toán tử logic:
Toán tử logic là các tổ hợp các giá trị boolean
Ví dụ: toán tử or trở về true nếu toán tử trái hoặc toán tử phải
là true True || false là true
Ta có bảng các toán tử như sau:
Trang 34TOÁN TỬ VÀ CÁC BIỂU THỨC CĂN BẢN TRONG PHP
Biểu thức điều kiện:
Là biểu thức dùng kiểm tra 1 sự kiện Nếu chúng thỏa điều kiện đó thì sẽ thực thi một hành động Ngược lại sẽ là một hành động khác
Trang 35TOÁN TỬ VÀ CÁC BIỂU THỨC CĂN BẢN TRONG PHP
Trang 36TOÁN TỬ VÀ CÁC BIỂU THỨC CĂN BẢN TRONG PHP
Trang 37TOÁN TỬ VÀ CÁC BIỂU THỨC CĂN BẢN TRONG PHP
Vòng lặp trong php
- Vòng lặp For():
Phép lặp này là phép toán gộp các tham số Giúp người lập trình giảm thiểu thời gian phải khai báo biến và các tham số khi thực thi việc lặp dữ liệu
Cú pháp:
For( giá trị ; điều kiện ; biến tăng hoặc giảm)
{ Hành động }
Trang 38TOÁN TỬ VÀ CÁC BIỂU THỨC CĂN BẢN TRONG PHP
Biểu thức switch case:
Là biểu thức sử dụng để giảm thiểu quá trình xử lý dữ liệu nếu
có quá nhiều phép toán if else
Trang 39XỬ LÝ DỮ LIỆU TRÊN FORM TRONG PHP
Một trong những ứng dụng quan trọng của PHP đó là giúp tương tác xử lý dữ liệu trên form của người sử dụng Tuy nhiên để làm được điều ấy PHP yêu cầu form phải đáp ứng 1
số quy định chung đặt ra Một form phải bao gồm:
• Tên form để dễ dàng tách biệt với giá trị của chúng
• Action: hành động chuyển tiếp đến link xử lý
• Method: Là phương thức truyền bao gồm POST và GET
PHP cho phép ta lấy giá trị dựa vào 2 phương thức POST và GET
• Đối với POST ta có : $_POST[‘Giá trị’]
• Đối với GET ta có : $_GET[‘Giá trị’]
Trang 40XỬ LÝ DỮ LIỆU TRÊN FORM TRONG PHP
Phương thức này cũng được dùng để lấy dữ liệu từ form nhập liệu Tuy nhiên nhiệm vụ chính của nó vẫn là lấy nội dung trang dữ liệu từ web server
Ví dụ:
Với url sau: shownews.php?id=50
Vậy với trang shownews ta dùng hàm $_GET[‘id’] sẽ được
giá trị là 50
Phương thức này được sử dụng để lấy dữ liệu từ form nhập liệu Và chuyển chúng lên trình chủ webserver
Trang 41KẾT HỢP PHP VÀ MySQL
• Kết nối cơ sở dữ liệu:
Trang 43ỨNG DỤNG PHP VÀ MySQL ĐỂ XÂY DỰNG CHƯƠNG TRÌNH
Trang 44Xin chân thành cảm ơn!