1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu học lập trình PHP và MySQL cơ bản từ a đến z

112 788 15

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 112
Dung lượng 1,84 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- Localhost bao gồm nhiều ứng dụng đi kèm với nhau và tất cả các ứng dụng đó sẽ kết hợp với nhau để tạo ra một môi trường có thể chạy mã nguồn WordPress trên máy tính của chính bạn bao g

Trang 1

Biên soạn: Trịnh Thanh Tâm

Email: contact.tamsoft@gmail.com

Facebook: https://www.facebook.com/tam.trinh.779857

Trang 2

bạn mới tiếp xúc hoặc cần tìm tài liệu học có thể dễ dàng tiếp cận với ngôn ngữ lập trình này Nội dung gồm 4 chương chính – 105 trang sắp xếp từ căn bản đến cao nhất

- Trong quá trình học nếu có thắc mắc hoặc cần hướng dẫn trực tiếp vui lòng liên hệ email hoặc facebook cá nhân

Email: contact.tamsoft@gmail.com

Facebook: https://www.facebook.com/tam.trinh.779857

Trang 3

1.1 Download, Cài Đặt, Quản Lý Xampp Môi Trường Localhost 1

1.1.1 Localhost là gì? 1

1.1.2 Localhost vận hành như thế nào? 1

1.1.3 Lưu ý trước khi cài đặt 1

1.1.4 Hướng dẫn cài đặt Localhost 2

1.1.5 Thao tác trên localhost 7

1.1.6 Cách đổi cổng mạng cho Localhost 9

1.2 Sublime Text 3 – công cụ lập trình tuyệt vời 11

1.2.1 Cài đặt 11

1.2.2 Quản lý Project 11

1.2.3 Thay đổi màu sắc highlight 11

1.2.4 Các plugin 11

1.2.5 Một số plugin thông dụng 13

Chương 2 Các thành phần cơ bản trong php 14

2.1 Căn Bản Về PHP 14

2.1.1 Cấu trúc cơ bản: 14

2.1.2 Xuất giá trị ra trình duyệt: 14

2.2 Biến, Hằng, Các biến toàn cục - superglobal trong php 16

2.2.1 Biến trong PHP 16

2.2.2 Khái niệm về hằng trong PHP 16

2.2.3 Các biến toàn cục - superglobal trong php 17

2.3 Các Kiểu Dữ Liệu 26

2.4 Một Số Hàm Xử Lý Kiểu Số 27

2.4.1 Khái niệm Kiểu số 27

2.4.2 Một số hàm xử lý số thường dùng 27

Trang 4

2.5.1 Khái niệm về chuỗi: 31

2.5.2 Quy tắc trong chuỗi: 31

2.5.3 Một số hàm xử lý chuỗi thường dùng 32

2.6 Mảng, Các Hàm Xử Lý Trong Mảng 36

2.6.1 Định nghĩa mảng trong PHP: 36

2.6.2 Khái niệm mảng kết hợp trong PHP 36

2.6.3 Phép lặp trong mảng: 36

2.6.4 Một số hàm hỗ trợ Mảng trong PHP 37

2.7 Một Số Hàm Xử Lý File Trong PHP 39

2.7.1 Mở file 39

2.7.2 Ghi file 40

2.7.3 Đọc file 40

2.7.4 Đóng File 41

2.7.5 Các hàm xử lý file khác 42

2.8 Toán Tử và Biểu Thức Trong PHP 44

2.8.1 Biểu thức là gì? 44

2.8.2 Toán tử gán (Assignment Operator) 44

2.8.3 Biểu thức số học 44

2.8.4 Toán tử quan hệ 44

2.8.5 Toán tử luận lý 45

2.8.6 Độ ưu tiên toán tử luận lý 45

2.8.7 Độ ưu tiên các toán tử 46

2.9 Regular Expression Và Các Quy Tắc 47

2.9.1 Regular Expression là gì? 47

2.9.2 Các quy tắc Regular Expression căn bản 47

2.9.3 None Capturing Group Regular Expression 57

Trang 5

2.10.1 Hàm isset trong PHP 59

2.10.2 Vậy khi nào thì sử dụng hàm isset()? 59

2.10.3 Hàm empty() trong PHP 60

2.10.4 Vậy khi nào nên sử dụng hàm empty()? 61

2.11 CURL Trong PHP 62

2.11.1 Viết chương trình PHP CURL đầu tiên 62

2.11.2 Hàm curl_setopt trong CURL PHP 63

2.11.3 Danh sách các thông số cấu hình của hàm curl_setopt PHP 63

Chương 3 Cấu trúc điều khiển trong php 65

3.1 Lệnh Điều Kiện If, Else 65

3.1.1 Câu lệnh điều kiện là gì ? 65

3.1.2 Câu lệnh điều kiện if 65

3.1.3 Câu lệnh If else trong php 66

3.1.4 Kết hợp nhiều câu lệnh if else trong php 68

3.1.5 Câu lệnh if else lồng nhau 69

3.2 Lệnh Rẽ Nhánh Switch, Case 71

3.2.1 Câu lệnh switch trong PHP 71

3.2.2 Switch và if 73

3.2.3 Switch lồng nhau 73

3.4 Vòng lặp for trong php 75

3.4.1 Vòng lặp for 75

3.4.2 Vòng lặp for lồng nhau 76

3.4.3 Vòng lặp for kết hợp với mảng 77

3.5 Vòng Lặp While Và Do While 79

3.5.1 Cấu trúc vòng lặp while 79

3.5.2 Cấu trúc vòng lặp do while 81

Trang 6

3.5.4 Khi nào thì sử dụng vòng lặp for, while, do while? 82

3.5.5 Vòng lặp while, do while lồng nhau 83

3.5.6 Vòng lặp while, do while trong việc truy xuất mảng 83

3.6 Break, Continue, Goto, Die, Exit 85

3.6.1 Câu lệnh break 85

3.6.2 Câu lệnh continue 85

3.6.3 Câu lệnh goto 86

3.6.4 Lệnh die và exit 86

3.7 Hàm PHP Cách Khai Báo Và Sử Dụng Hàm 87

3.7.1 Hàm là gì? 87

3.7.2 Cách sử dụng hàm trong PHP 87

3.7.3 Cấu trúc của một hàm Trong PHP 87

3.7.4 Biến toàn cục và biến cục bộ 90

3.7.5 Biến tĩnh 91

3.7.6 Các cách gọi hàm trong PHP 92

3.7.7 Các quy tắc và phạm vi của hàm 93

3.8 Giải Thuật Đệ Quy 95

3.8.1 Giải thuật đệ quy là gì ? 95

3.8.2 Đệ quy tuyến tính 95

3.8.3 Đệ quy nhị phân 96

3.8.4 Đệ quy phi tuyến 97

3.8.5 Đệ quy hổ tương 98

3.8.6 Khử đệ quy 99

Chương 4 Cơ sở dữ liệu – MySQL 100

4.1 Giới thiệu về MySQL 100

4.1.1 Những định nghĩa cơ bản 100

Trang 7

4.2 Mối liên hệ giữa PHP và MySQL 104

4.3 Các hàm cơ bản sử dụng MySQL trong PHP 105

4.3.1 Kết nối cơ sở dữ liệu: 105

4.3.2 Lựa chọn cơ sở dữ liệu: 105

4.3.3 Thực thi câu lệnh truy vấn: 105

4.3.4 Đếm số dòng dữ liệu trong bảng: 105

4.3.5 Lấy dữ liệu từ bảng đưa vào mảng: 105

4.3.6 Lấy dữ liệu từ bảng đưa vào biến: 105

4.3.7 Đóng kết nối cơ sở dữ liệu: 105

Trang 8

Chương 1 Các công cụ hỗ trợ lập trình

1.1 Download, Cài Đặt, Quản Lý Xampp Môi Trường Localhost

1.1.1 Localhost là gì?

- Localhost là từ ghép của hai chữ “local” và “host“ Local dịch theo nghĩa IT là máy

tính của bạn, Host theo nghĩa IT là máy chủ Vậy localhost nghĩa là một máy chủ được vận hành trên máy tính của bạn

- Localhost bao gồm nhiều ứng dụng đi kèm với nhau và tất cả các ứng dụng đó sẽ kết hợp với nhau để tạo ra một môi trường có thể chạy mã nguồn WordPress trên máy tính của chính bạn bao gồm:

- Phần mềm Webserver tên Apache, đây là webserver thông dụng nhất

- Phần mềm PHP để xử lý mã PHP vì WordPress viết bằng ngôn ngữ PHP

- Phần mềm MySQL Server để lưu trữ và xử lý cơ sở dữ liệu, do WordPress sử dụng MySQL làm nền tảng cơ sở dữ liệu Cơ sở dữ liệu thường được mình viết theo chữ tiếng Anh là database

- Phần mềm PHPMyAdmin để xem và quản lý cơ sở dữ liệu MySQL

- Như vậy, đối chiếu với yêu cầu cơ bản của một website WordPress thì localhost đã hoàn toàn đáp ứng được

1.1.2 Localhost vận hành như thế nào?

- Khi cài đặt Localhost vào máy tính rồi, thì máy tính của bạn đã có một phần mềm Webserver để chạy ứng dụng website với địa chỉ là http://127.0.0.1 Đây là địa chỉ IP

dạng localhost, ngoài ra bạn cũng có thể chạy localhost với đường dẫn

http://localhost

- Thông thường khi cài localhost, mỗi khi cần sử dụng bạn sẽ cần mở bảng điều khiển của localhost lên và kích hoạt cho nó khởi động các ứng dụng đi kèm

1.1.3 Lưu ý trước khi cài đặt

- Xoá toàn bộ ứng dụng liên quan tới localhost: Nếu bạn có cài đặt các phần mềm liên quan đến việc làm localhost như PHP, MySQL thì hãy xoá hết Và bạn không nên cài XAMPP trên Windows Server đã cài đặt IIS

- Lưu ý nếu bạn dùng Skype: Nếu máy bạn đang cài đặt phần mềm Skype thì localhost

sẽ không hoạt động được do Skype đã chiếm quyền sử dụng cổng mạng 80, đây là cổng mặc định của webserver Do đó, bạn hãy mở Skype -> Tools -> Connection Options -

Trang 9

> và bỏ chọn phần “Use port 80 and 443… .” rồi nhập một cổng bất kỳ để Skype sử

dụng

Sửa xong, hãy khởi động lại máy để hoàn tất

- Tắt tường lửa: Nếu máy bạn có cài đặt tường lửa từ Windows hay từ một phần mềm Antivirus nào khác thì hãy tắt nó đi vì có thể nó sẽ chặn cổng 80 hoặc các ứng dụng webserver

- Tắt UAC trên Windows: Nếu máy của bạn đang dùng Windows và có bật chức năng User Account Control thì hãy tắt nó đi khi dùng localhost để tránh các vấn đề bị giới hạn quyền

1.1.4 Hướng dẫn cài đặt Localhost

- Để cài Localhost chúng ta có rất nhiều cách và phần mềm, tuy nhiên nếu bạn là người mới thì mình khuyến khích các bạn dùng phần mềm XAMPP để cài localhost vì: + XAMPP hoàn toàn miễn phí

+ Dễ sử dụng

+ Hỗ trợ các hệ điều hành thông dụng như Windows, Mac, Linux

Tuy nhiên trong bài này mình chỉ hướng dẫn cho hệ điều hành Windows

- Để tải XAMPP, đầu tiên bạn truy cập vào địa chỉ:

Trang 10

và chọn phiên bản XAMPP phù hợp với hệ điều hành của máy tính bạn đang sử dụng,

và bạn nên chọn phiên bản PHP 5.4.31 Lưu ý là XAMPP chỉ có phiên bản cho hệ điều hành 32bit nhưng 64bit vẫn hoạt động bình thường

* Lưu ý: Hiện nay XAMPP đã ra bản mới hơn hỗ trợ MariaDB nhưng bị lỗi rất nhiều, bạn nên dùng phiên bản XAMPP 1.8.3 có thể tải ại đây Nếu bạn dùng Mac thì tải ại đây

- Sau khi tải file cài đặt về xong, hãy chạy nó, sau đó chọn Next

- Ở phần chọn đường dẫn, bạn hãy chọn đường dẫn cần lưu cài đặt của XAMPP Lưu

ý rằng đường dẫn này bạn phải nhớ vì khi cài đặt web lên localhost, bạn phải truy cập

vào thư mục này Bạn nên để mặc định là C:\xampp Tiếp tục ấn Next

Trang 11

- Ở trang kế tiếp, bạn bỏ chọn phần “Learn more about Bitnami for XAMPP“ Và ấn

Next 2 lần nữa để bắt đầu quá trình cài đặt XAMPP

Trang 12

- Sau khi cài xong, ấn nút Finish để kết thúc cài đặt và mở bảng điều khiển của

XAMPP Tuy nhiên, hãy khởi động lại máy sau khi cài đặt xong để tránh tình trạng

không khởi động được localhost

- Khởi động Localhost

- Bây giờ bạn hãy vào thư mục C:\xampp và mở file xampp-panel.exe lên để bật

bảng điều khiển của XAMPP

Bảng điều khiển của XAMPP

- Bạn để ý sẽ thấy hai ứng dụng Apache và MySQL có nút Start, đó là dấu hiệu bảo 2

ứng dụng này chưa được khởi động, hãy ấn vào nút Start của từng ứng dụng để khởi

động Webserver Apache và MySQL Server lên thì mới chạy được localhost

Trang 13

Nếu cả hai ứng dụng chuyển sang màu xanh như hình dưới là đã khởi động thành công

- Sau khi khởi động xong, bạn hãy truy cập vào website với địa chỉ

http://localhost sẽ thấy nó hiển thị ra trang giới thiệu XAMPP như hình dưới

- Bạn có thể ấn vào nút English phía bên dưới để truy cập vào trang quản lý localhost

Trang 14

1.1.5 Thao tác trên localhost

1.1.5.1 - Làm việc với thư mục và tập tin

+ Vùng làm việc của mình sẽ nằm ở C:\xampp\htdocs Đây sẽ là nơi lưu trữ code + Bây giờ bạn thử copy một tập tin nào đó vào trong thư mục C:\xampp\htdocs rồi chạy tên miền http://localhost, bạn sẽ thấy nó liệt kê file mà bạn vừa copy vào

+ Nếu bạn click vào file ảnh đó thì trình duyệt sẽ hiển thị ảnh với đường dẫn

là http://localhost/tên-tập-tin Đây được xem là một link ảnh trong website của bạn

+ Tương tự, hãy thử tạo một thư mục bất kỳ rồi copy một tập tin nào đó vào, thì bây giờ bạn có thể truy cập xem ảnh với đường dẫn là http://localhost/tên-folder/tên-tập- tin

Như vậy bạn có thể hiểu, cái đường dẫn trên website nó sẽ phân thứ cấp tùy theo cấu trúc thư mục và file trong đó

1.1.5.2 Tạo cơ sở dữ liệu MySQL (Database)

- Khi nhắc đến database, bạn phải nhớ là nó bao gồm các thành phần chính là:

+ Tên user của database

+ Mật khẩu của user database

+ Tên database

+ Database Host (thường thì điền là localhost, bất kể là bạn dùng ở localhost hay host bình thường)

Trang 15

- Bạn hãy tưởng tượng rằng, user của database sẽ có nhiệm vụ đọc và ghi dữ liệu vào database nên khi sử dụng các mã nguồn PHP, bạn phải khai báo cùng lúc cả user của database và tên database

- Đối với localhost, bạn không cần tạo user cho database mà sẽ sử dụng thông tin user như sau:

+ Tên user database: root

+ Mật khẩu: bỏ trống

Do vậy, chúng ta chỉ cần tạo database là đủ

- Để tạo database, bạn hãy truy cập vào localhost với đường dẫn http://localhost/phpmyadmin Sau đó bạn nhấp vào menu Databases

- Sau đó ở phần Create databsae, bạn nhập tên database cần tạo vào ô Database name, phần Collation bạn hãy chọn là utf8_unicode_ci như hình dưới rồi ấn nút Create kế bên

Trang 16

- Tạo xong hãy nhìn bên menu tay trái, nếu nó xuất hiện tên database vừa tạo là thành công Vậy bây giờ, chúng ta tạm có một databse với các thông tin như:

+ Database Host: localhost

+ Database user: root

+ Database password: trống

+ Database name: thachphamblog

Tới đây bạn đã có một cái localhost sử dụng địa chỉ dạng http://localhost/ hoặc http://127.0.0.1/ rồi

1.1.6 Cách đổi cổng mạng cho Localhost

- Mặc định Localhost sẽ sử dụng cổng 80, bởi vì khi bạn gõ tên miền như http://localhost thì tức là nó đã sử dụng cổng 80 để đọc các dữ liệu web trong localhost Tuy nhiên nếu như bạn đã dùng cổng 80 cho một ứng dụng khác, hoặc đơn giản là không khởi động Apache được thì bạn nên thiết lập cho Apache trong Localhost sử dụng một cổng khác, như 8080 chẳng hạn

Trước khi đổi, mình cần các bạn lưu ý là sau khi đổi xong thì bạn phải truy cập vào

website với tên miền http://localhost:8080 thay vì chỉ là http://localhost

Để đổi cổng, bạn mở bảng điều khiển XAMPP lên và chọn nút Config của Apache, sau đó chọn Apache (httpd.conf)

Trang 17

- Sau đó bạn tìm dòng “Listen 80” đổi thành “Listen 8080”

- Sau đó bạn Stop cái Apache và Start lại rồi thử truy cập vào localhost theo đường dẫn http://localhost:8080, nếu truy cập được thì bạn đã làm thành công Và cũng nên lưu

ý rằng, sau khi đổi cổng thì mỗi khi truy cập bạn phải sử dụng đường dẫn có kèm theo số cổng bạn vừa đổi sang vì mặc định nếu không điền thì nó sẽ sử dụng cổng 80

Trang 18

1.2 Sublime Text 3 – công cụ lập trình tuyệt vời

- Sublime text là một editor khá mới, nhưng theo đánh giá của mình thì nó khá mạnh với nhiều plugin hữu ích, có thể cài đặt 1 cách dễ dàng trực tiếp Cung cấp một hiệu suất làm việc với các tính năng rất tuyệt vời Trong bài hôm này, mình sẽ giới thiệu với các bạn về cách sử dụng cơ bản và chuyên sâu về sublime text 3

1.2.1 Cài đặt

- Bản mới nhất của Sublime text tại thời điểm bài viết là bản 3

- Có các phiên bản cho Window, Ubuntu, OSX

1.2.2 Quản lý Project

- Chức năng Project cho phép chúng ta quản lý dự án 1 cách dễ dàng hơn

- Thêm 1 project mới vào Sublime text bằng cách vào menu Project > Add folder to

project

- Sau khi thêm, danh sách các file trong dự án sẽ được liệt kê ở cột bên trái, cho phép chúng ta chọn nhanh các file

1.2.3 Thay đổi màu sắc highlight

- Highlight code cho ta cái nhìn trực quan và dễ nhìn hơn Sublime text có rất nhiều color scheme Bạn có thể thay đổi tùy thích trong Preferences > Color Scheme

1.2.4 Các plugin

- Sublime có rất nhiều plugin, có thể cài đặt trực tiếp mà không cần lên Web tải về để cài đặt

Trang 19

- Cách làm như sau: Các bạn nhấn tổ hợp phímCtrl + ` sau đó paste đoạn code sau và nhấn Enter:

import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp =

urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

- Đây là plugin package control, bây giờ bạn đã có thể cài trực tiếp plugin thông qua tổ hợp phímCtrl + Shift + p, sau đó nhấn Install, nhấn Enter và tìm plugin thích hợp Mọi công việc cài đặt sẽ được tự động.

Trang 20

- Chọn plugin để cài:

1.2.5 Một số plugin thông dụng

- Sublime Prefixr (Ctrl+Alt+X)

- Sublime Alignment (Ctrl+Alt+A)

Trang 21

Chương 2 Các thành phần cơ bản trong php

2.1.2 Xuất giá trị ra trình duyệt:

- Để 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";

Hoặc

+ print "Thông tin";

Thông tin bao gồm : biến, chuỗi, hoặc lệnh HTML …

Trang 23

2.2 Biến, Hằng, Các biến toàn cục - superglobal trong php

2.2.1 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

1 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 chúng ta thường phải khai báo trước, tuy nhiên đối với các lập trình viên khi sử dụng họ thường xử lý cùng một lúc các công việc, nghĩa là vừa khái báo vừa gán dữ liệu cho biến

- Bản thân biến cũng có thể gãn cho các kiểu dữ liệu khác Và tùy theo ý định của người lập trình mong muốn trên chúng

* Một số ví dụ về biến :

<?php

$a = 100; //Biến $a này có giá trị là 100

$a = “Is PHP”; //Biến $a này là 1 chuỗi có giá trị là Is PHP

Biena=100; //Trường hợp này sai vì biến phải bắt đầu bằng dấu “$”

$123a=100; //Trường hợp này sai vì tên bắt đầu biến phải là chữ cái

?>

2.2.2 Khái niệm về hằng 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 (“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ì chúng 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 24

* Một số ví dụ về hằng :

<?php

define (“TEN”, “Trịnh Thanh Tâm”);

echo “Tôi tên là: ”.TEN;

?>

2.2.3 Các biến toàn cục - superglobal trong php

- Biến có phạm vi toàn cục có nghĩa là nó có thể truy xuất - sửa giá trị, gán giá trị ở bất

cứ đâu (trong hàm và ngoài hàm) Các biến có phạm vi cục bộ khi đưa vào trong hàm - giá trị tạm thời thay đổi nhưng khi ra khỏi thân hàm thì giá trị trở lại như cũ, biến toàn cục thì ngược lại khi đưa vào trong hàm giá trị của nó bị thay đổi Biết được điều này giúp bạn điều khiển được dòng dữ liệu trong lập trình Giả sử một biến cục bộ sau một phép biến đổi (thông qua hàm) thì giá trị của nó là không đổi - trong khi đó bạn muốn kết quả của phép biến đổi được xuyên suốt trong chương trình thông qua một đại lượng - bạn muốn đảm bảo tính thống nhất dễ hiểu của chương trình từ đầu đến cuối => sử dụng biến toàn cục

- Để khai báo biến toàn cục, ta đặt nó là một khóa trong mảng $GLOBALS[] Ví dụ: Khai báo hàm my_pow($x,$n) là kết quả của phép toán x^n

$_SERVER - lưu trữ các thông tin của SERVER

Trang 25

$_REQUEST - lưu trữ các biến truyền lên bởi cả phương thức GET và POST

$_POST - lưu trữ dữ liệu truyền đi từ máy client bằng phương thức POST

$_GET - lưu trữ dữ liệu truyền đi từ máy client bằng phương thức GET

$_FILES - lưu trữ thông tin file upload lên server

$_COOKIE - lưu trữ dữ liệu cookie nhận được từ trình duyệt người dùng

$_SESSION - lưu các biến session

2.2.3.1 $_REQUEST

- Về cơ bản biến $_request bao gồm cả POST, GET và COOKIE Nghĩa là khi bạn submit một form lên server thì dù bạn đặt method là GET hay là POST thì nếu bạn dùng REQUEST bạn vẫn có thể lấy được giá trị bình thường Bạn có thể xem ví dụ cụ thể dưới đây nhé:

Ví dụ tôi có 1 form tên là form.html

<form action="form1.php" method=""><! cac ban chu y action toi de la form1.php nhe >

<div class="form-group">

<label for="email">POST và GET:</label>

<input type="text" name="method" class="form-control" id="email">

Trang 26

- Khi đó dù form.html của bạn có để method là POST hay là GET hay không để method thì kết quả vẫn ra như dưới đây:

array(2) { ["method"]=> string(0) "" ["method1"]=> string(0) "" }

- Bạn hãy thử thay đổi method trong form thành POST hoặc GET thì chúng ta vẫn có kết quả như trên nhé

2.2.3.2 $_GET

- $_GET theo định nghĩa trên trang chủ của PHP thì dùng để lấy giá trị thông qua URL Nghe thì có vẻ khó hiểu nhưng nhìn cái này là bạn hiểu luôn

- Ví dụ URL như sau: http://mrtam.com/form1.php?bien1=mrtam&bien2=laptrinh

- Như vậy là nhìn vào cái URL bạn để ý những chữ tôi tô đậm nhé Biến GET sẽ lấy những dữ liệu như “mrtam”, “laptrinh” thông qua các biến “bien1″, “bien2″

- Ví dụ: form.html method thay bằng GET chỗ này bạn chú ý nhé:

<form action="form1.php" method="GET">

<div class="form-group">

<label for="email">POST và GET:</label>

<input type="text" name="method" class="form-control" id="email">

Trang 27

2.2.3.3 $_POST

- $_POST tương tự như $_GET nhưng $_POST khi dữ liệu truyền lên bạn sẽ không nhìn được nó cụ thể trên trình duyệt như $_GET, và dữ liệu sẽ được mã hoá rồi submit lên server Về cơ bản $_POST sẽ không làm lộ thông tin như $_GET

- Ví dụ: form.html method thay bằng POST chỗ này bạn chú ý nhé

<form action="form1.php" method="POST">

<div class="form-group">

<label for="email">POST và GET:</label>

<input type="text" name="method" class="form-control" id="email">

$_SERVER[‘PHP_SELF’]: Trả về tên file của file đang được chạy

$_SERVER[‘GATEWAY_INTERFACE’]: Trả về phiên bản của Common Gateway Interface(CGI) của máy chủ đang dùng

$_SERVER[‘SERVER_NAME’]: Trả về tên của máy chủ

Trang 28

$_SERVER[‘HTTP_ACCEPT’]: Chấp nhận trả về tiêu đề từ các yêu cầu hiện tại

$_SERVER[‘HTTP_HOST’]: Trả về tiêu đề chủ từ yêu cầu hiện tại

$_SERVER[‘HTTP_REFERER’]: Trả về URL hoàn chỉnh của trang hiện tại

$_SERVER[‘HTTPS’]: Được kịch bản truy vấn thông qua một giao thức HTTP an toàn

$_SERVER[‘REMOTE_ADDR’]: Trả về địa chỉ IP từ nơi người dùng đang xem một trang hiện hành

$_SERVER[‘REMOTE_HOST’]: Trả về tên máy chủ từ nơi người dùng đang xem một trang hiện hành

$_SERVER[‘REMOTE_PORT’]: Trả về các cổng được sử dụng trên máy tính của người dùng để giao tiếp với máy chủ web

$_SERVER[‘SCRIPT_FILENAME’]: Trả lại tên đường dẫn tuyệt đối của kịch bản hiện đang thực hiện

$_SERVER[‘SERVER_PORT’]: Trả về các cổng trên máy chủ được sử dụng bởi các máy chủ web để liên lạc(such as 80)

$_SERVER[‘SERVER_SIGNATURE’]: Trả về phiên bản máy chủ và tên máy chủ ảo được thêm vào các trang máy chủ tạo ra

$_SERVER[‘PATH_TRANSLATED’]: Trả về hệ thống tập tin dựa trên đường dẫn đến kịch bản hiện tại

$_SERVER[‘SCRIPT_NAME’]: Trả về đường dẫn của kịch bản hiện tại

$_SERVER[‘SCRIPT_URI’]: Trả về URI của trang hiện tại

Trang 29

2.2.3.5 $_SESSION

- Biến Session trong PHP được dùng để lưu trữ thông tin của người dùng hoặc là lưu trữ tùy chọn cấu hình hệ thống cho người dùng Đặc biệt mỗi client sẽ có một ID session khác nhau nên việc thông tin Session ở Client A bị ảnh hưởng qua Client B là điều không thể Thông thường chúng ta sử dụng Session để lưu thông tin đăng nhập, giỏ hàng hoặc những dữ liệu mang tính chất tạm thời và mỗi client sẽ có dữ liệu khác nhau

2.2.3.5.1 Đăng ký session

Trước khi bạn sử dụng session bạn phải khai báo cho PHP biết bằng cách đặt dòng lệnh session_start() phía trên đầu mỗi file Nếu bạn dùng nhiều file include lẫn nhau thì đặt nó ở file chính

- Dòng lệnh session_start() sẽ đăng ký phiên làm việc của người dùng trên Server, từ

đó Server sẽ tạo ra một ID riêng không trùng lặp để nhận diện cho client hiện tại Dòng này bắt buộc có

2.2.3.5.2 Lưu trữ session

- Tất cả Session được lưu trữ trong biến toàn cục $_SESSION, vì thể để lưu thêm dữ liệu Session hay là thay đổi dữ liệu của Session thì ta sẽ thao tác trên biến đó Lưu ý với bạn trước khi dùng phép lấy giá trị Session bạn phải kiểm tra sesion đó có tồn tại không rồi hãy lấy

- Để lưu một giá trị mới vào Session ta dùng cú pháp như sau:

Trang 30

// Hiển thị thông tin lưu trong Session

// phải kiểm tra có tồn tại không trước khi hiển thị nó ra

<form method="POST" action="">

<input type="text" name="username" value=""/> <br/>

<input type="submit" name="save-session" value="Lưu Session"/>

Trang 31

- Tất cả các giá trị Session đều lưu trữ trong biến $_SESSION nên để xóa nó các bạn chỉ việc dùng hàm:

unset($_SESSION['session_name']);

+ Trong đó hàm unset dùng để giải phóng một biến ra khỏi bộ nhớ

- Nếu bạn muốn xóa hết tất cả các Session thì ta dùng hàm:

- Cookie thường được dùng để lưu trữ các tùy chọn riêng của trang web từng user, nó

là một file nhỏ được Server chỉ định lưu trữ trên máy tính của Client và PHP có thể truy xuất tới được Và để sử dụng được Cookie thì trình duyệt phải hỗ trợ chức năng này, nếu không thì Cookie trở nên vô dụng

- Cookie sẽ không bị mất khi bạn đóng ứng dụng, nó phụ thuộc vào thời gian sống mà bạn thiết lập cho nó Ví dụ bạn thiết lập Cookie lưu trữ thông tin đăng nhập trong vòng

15 phút thì sau 15 phút mà bạn không có một thao tác thay đổi trên nó thì Cookie của bạn

sẽ bị chết Đây chính là sự lợi hại của việc sử dụng Cookie

2.2.3.6.1 Lưu trữ Cookie

- Để lưu trữ Cookie ta dùng cú pháp sau và phải đặt trước thẻ html:

setcookie($name, $value, $expire, $path, $domain);

- Trong đó:

+ $name: là tên của Cookie

+ $value: giá trị của Cookie

+ $expire: thời gian sống của Cookie

+ $path : đường dẫn lưu trữ Cookie

+ $domain: tên của domain

Ví dụ: lưu trữ tên đăng nhập username = ‘thehalfheart’ trong một giờ

<!DOCTYPE html>

Trang 32

2.2.3.6.2 Lấy giá trị Cookie

- Tất cả Cookie được lưu trữ trong biến toàn cục $_COOKIE nên để lấy giá trị Cookie

Trang 33

2.3 Các Kiểu Dữ Liệu

- Các kiểu dữ liệu khác nhau chiếm các lượng bộ nhớ khác nhau và có thể được xử lý theo cách khác nhau khi chúng được theo tác trong 1 script

Trong PHP chúng ta có 6 kiểu dữ liệu chính như sau :

Chúng ta có thể sử dụng hàm dựng sẵn gettype() của PHP4 để kiểm tra kiểu của bất kỳ biến

Trang 34

2.4 Một Số Hàm Xử Lý Kiểu Số

2.4.1 Khái niệm Kiểu số

- Số trong PHP chúng ta quan tâm 2 loại: số nguyên và số thập phân

2.4.2 Một số hàm xử lý số thường dùng

- is_numberic($var): Kiểm tra giá trị đầu vào có phải là kiểu số hay không Chuỗi số gồm dấu tùy chọn, bất kỳ số lượng chữ số, phần thập phân tùy chọn và phần hàm mũ tùy chọn Như vậy +0123.45e6 là một giá trị số hợp lệ Hexadecimal (ví dụ như 0xf4c3b00c), nhị phân (ví dụ như 0b10100111001), Octal (ví dụ 0777) ký hiệu là không hợp lệ

- is_int($var): Kiểm tra giá trị lưu trữ có phải là số nguyên hay không

- is_float($var): Kiểm tra giá trị lưu trữ có phải là số thập phân hay không

- rand([$start, $end]): tạo ra một số giá trị ngẫu nhiên được trả về nằm trong đoạn [$start, $end] Nếu $start, $end không đưa vào nó sẽ lấy một số bất kỳ

- range($start, $end [, $step = 1]): Tạo ra một dãy số với bắt đầu và kết thúc được cho trước

+$start: Giá trị đầu tiên của dãy

+$end: Giá trị kết thúc của dãy

+$step: Các bước nhảy để tăng phần tử mảng, nếu được đưa vào nó sẽ sử dụng giá trị đó, còn không sẽ theo mặc định là 1

Trang 35

echo round(9.5, 0, PHP_ROUND_HALF_UP); // 10

echo round(9.5, 0, PHP_ROUND_HALF_DOWN); // 9

echo round(9.5, 0, PHP_ROUND_HALF_EVEN); // 10

echo round(9.5, 0, PHP_ROUND_HALF_ODD); // 9

echo round(8.5, 0, PHP_ROUND_HALF_UP); // 9

echo round(8.5, 0, PHP_ROUND_HALF_DOWN); // 8

echo round(8.5, 0, PHP_ROUND_HALF_EVEN); // 8

echo round(8.5, 0, PHP_ROUND_HALF_ODD); // 9

?>

- ceil(): làm tròn đến số nguyên gần nhất và lớn nhất

Trang 36

+$number: bắt buộc phải có, định dạng kiểu số thực float

+$decimals không bắt buộc, mặc định là 3, chỉ định hiển thị bao nhiêu số ở phần thập phân

+$dec_point: không bắt buộc, là dấu phân cách phần thập phân, mặc định là dấu chấm

+$thousands_sep: không bắt buộc, là dấu phân cách phần ngàn đối với tham số number

Trang 37

- abs($number): trả vê giá trị tuyệt đối của một số nào đó

- pow($x, $y): trả về kết quả là x mũ y

- sqrt($number): tính căn bậc hai của $number

-

Trang 38

2.5 Chuỗi và Một Số Hàm Xử Lý Kiểu Chuỗi

2.5.1 Khái niệm về chuỗi:

- Chuỗi là một nhóm các kỹ tự, số, khoảng trắng, dấu ngắt được đặt trong các dấu nháy

+ $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 "."

* Một số ví dụ:

<?php

$name = ‘Trịnh Thanh Tâm’;

echo ‘Chào bạn đến với khóa học của ’.$name;

?>

2.5.2 Quy tắc trong chuỗi:

- Nếu chuỗi được đặt trong dấu nháy kép "" thì các ký tự nháy kép " bên trong chuỗi phải thêm dấu gạch chéo đằng trước nó

$name = ‘Trịnh Thanh Tâm’;

echo “Xin chào, Tôi là $name”;

?>

Trang 39

- Nếu chuỗi được đặt trong dấu nháy đơn '' thì các ký tự nháy đơn ' bên trong chuỗi phải thêm dấu gạch chéo đằng trước nó

echo addcslashes(‘Trinh Thanh Tam’, ‘a z’);

// kết quả: T\r\i\n\h T\h\a\n\h T\a\m

// a zA Z là gồm các từ từ a => z và A => Z

echo addcslashes(‘Trinh Thanh Tam’, ‘a zA Z’);

// kết quả: \T\r\i\n\h \T\h\a\n\h \T\a\m

?>

- addslashes($str): thêm dấu gách chéo trước những ký tự (‘, “, \) trong chuỗi $str

- stripslashes($str): ngược với hàm addslashes, nó xóa các ký tự \ trong chuỗi $str

- explode($delimiter, $string): chuyển một chuỗi $string thành một mảng các phần tử với ký tự tách mảng là $delimiter

- implode($delimiter, $piecesarray): ngược với hàm explode, nó chuyển một mảng

$piecesarray thành chuỗi và mỗi phần tử cách nhau bởi chuỗi $delimiter

- ord($string): trả về mã ASCII của ký tự đầu tiên trong chuỗi $string

- strlen($string): đếm số ký tự của chuỗi $string

- str_word_count($str): trả về số từ trong chuỗi $str

- str_repeat( $str, $n): lặp chuỗi $str $n lần

- str_replace($chuoi_tim, $chuoi_thay_the, $chuoi_nguon): tìm kiếm và thay thế chuỗi

Trang 40

- preg_replace($pattern, $replacement, $subject): dùng để replace một chuỗi nào đó khớp với đoạn Regular Expression truyền vào Hàm này có chức năng tương tự như str_replace nhưng có sự khác biệt là một bên dùng regex một bên không dùng

+$partern: là chuỗi Regular Expression

+$replacement: là chuỗi replace thành

+$subject: là string muốn duyệt và replace

echo preg_replace($partern, $replacement, $subject);

//Kết quả xuất ra màn hình là chuỗi hello everybody, hello there đã được replace

echo preg_replace($partern, $replacement, $subject);

//Các bạn chạy lên và dùng firebug soi sẽ thấy mất thẻ h1

?>

- htmlspecialchars($string), htmlentities($str): chuyển các thể html trong chuỗi $str sang dạng thực thể của chúng (html sẽ ko còn tác dụng nên bạn có thể echo ra bên ngoài)

-htmlspecialchars_decode($string), html_entity_decode($string): ngược lại với htmlspecialchars và htmlentities, hai hàm này chuyển ngược các ký tự dạng thực thể HTML sang dạng ký tự của chúng

- strip_tags($string, $allow_tags): bỏ các thẻ html trong chuỗi $string được khai báo ở

$allow_tags

- substr($string, $start, $length): lấy một chuỗi con nằm trong chuỗi $str bắt đầu từ ký

tự thứ $start và chiều dài $length

Ngày đăng: 19/09/2016, 16:58

HÌNH ẢNH LIÊN QUAN

Bảng điều khiển của XAMPP. - Tài liệu học lập trình PHP và MySQL cơ bản từ a đến z
ng điều khiển của XAMPP (Trang 12)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w