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

Giáo trình PHP Vietdragon

47 349 5
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Giáo trình PHP Vietdragon
Trường học Trường ĐH Vietdragon
Chuyên ngành Khoa học Máy tính
Thể loại Giáo trình
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 47
Dung lượng 258 KB

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

Nội dung

Các ngôn ngữ script thường đơn giản và không có nhiều sức mạnh như các ngôn ngữ "kinh điển" cùng tên, hay nói cách khác, chúng là một phần rất nhỏ của một ngôn ngữ nào đó được tích hợp v

Trang 1

Phần I: Căn bản về PHP

Bài 1: Những khái niệm căn bản về mạng máy tính

Mục đích và yêu cầu:

- Nắm được các khái niệm cơ bản nhất về mạng máy tính

- Biết cách cài đặt giao thức TCP/IP và web server

I Khái niệm cơ bản:

1 Mạng máy tính: Là 2 hay nhiều máy tính được kết nối với nhau

3 Giao thức mạng:

Các máy tính trên mạng "nói chuyện" với nhau thông qua một ngôn ngữ đặc biệt gọi là các giao thức mạng Có rất nhiều giao thức khác nhau, mỗi giao thức có 1 nhiệm vụ riêng Ở đây tôi tạm chia ra làm 2 nhóm giao thức:

- Giao thức truyền dữ liệu, chuyên dùng để vận chuyển dữ liệu giữa 2 máy tính

- Giao thức xử lý dữ liệu, có nhiệm vụ xử lý dữ liệu nhận được từ giao thức truyền dữ liệu

Túm lại: Không nên phát hoảng khi nghe thấy 2 từ giao thức Chẳng qua nó chỉ là 1 dạng ngôn ngữ để trao đổi với nhau mà thôi Và bạn cứ yên chí rằng nếu thích, bạn có thể tự định nghĩa ra một cái giao thức nào đó Chẳng hạn như các chương trình chat của Yahoo,

Trang 2

hay các chương trình remote trojan… Chúng tự đẻ ra các giao thức riêng dựa trên nền giao thức TCP/IP đấy.

Để phân chia các giao thức con trong chùm giao thức TCP/IP, người ta sử dụng một khái niệm khác gọi là Cổng giao thức Đây là 1 con số nguyên từ 0 đến 32767 thì phải :p Mỗi giao thức con trong chùm giao thức sẽ chiếm hữu một cổng riêng Thông thường thì mỗi chương trình ứng dụng trên server sẽ chịu trách nhiệm mở một cổng TCP/IP, định nghĩa giao thức cho cổng đó, và sau đó là lắng nghe các yêu cầu từ máy khách và xử lý các yêu cầu đó

Như vậy, trong hệ giao thức TCP/IP, một máy khách sẽ truy cập thành công đến máy chủ nếu như nó có địa chỉ IP và cổng đang mở của dịch vụ trên máy chủ

Chẳng hạn: Với 1 máy chủ quản lý web (web server), chúng ta cần phải có một ứng dụng web gọi là web server Ứng dụng này sẽ mở 1 cổng (mặc định là 80) và xử lý các tín hiệu đến từ cổng đó

Bây giờ hãy nhấp 1 ngụm café cho tỉnh táo đã

II Trang Web tĩnh và Trang Web động

1 Trang web tĩnh và trang web động

Bạn đã từng xây dựng một trang Web và đưa nó lên mạng? Trang web của bạn thật là thú

vị (ít nhất là theo ý nghĩ của bạn ) và tất nhiên bạn muốn tham khảo ý kiến của người đọc? Chẳng nhẽ bạn lại cho số điện thoại và yêu cầu người góp ý phải gọi điện đến? Hic… Đảm bảo sẽ chẳng có ma nào thèm gọi điện

Trang 3

Bạn muốn "xin" một ít thông tin về người duyệt Web… hic Làm cách nào bây giờ???

Vâng, đó chính là nhược điểm của cái gọi là trang web tĩnh Đó là các trang Web không cho phép bạn có thể tương tác với người dùng (chẳng hạn như là trao đổi hay thu thập các thông tin từ phía người dùng) Nó là các trang web có đuôi *.htm thông thường Ngược lại, các trang Web động cho phép bạn nhận thông tin từ người dùng, xử lý thông tin đó, và có thể đáp trả lại các yêu cầu của họ Xem ra nó cũng linh động ra phết đấy chứ?

Để làm được điều đó, tất nhiên là bạn phải … theo dõi các bài viết này

2 Lập trình Script

Các trang web nguyên thuỷ sử dụng ngôn ngữ định dạng chuẩn là HTML (HyperText Markup Language) HTML chuẩn chỉ bao gồm các cặp thẻ đánh dấu để định khuôn dạng của tài liệu Tuỳ theo tên thẻ là gì mà trình duyệt sẽ tự động hiểu và làm các công việc do thẻ đó quy định Chẳng hạn như cặp thẻ <B>….</B> quy định đoạn văn bản trong đó sử dụng chữ đậm Vì vậy, trên thực tế người ta không coi nó là một ngôn ngữ (vì nó chẳng liên quan gì đến những thứ mà ta hay gặp trong lập trình như biến, câu lệnh rẽ nhánh, lặp…) Cũng chính vì nguyên nhân này, nó phải tự mở rộng bằng cách cho phép "nhúng" vào bản thân nó một số đoạn mã lệnh chương trình đặc biệt, người ta thường gọi chúng là các đoạn mã Script hay các đoạn mã nhúng Ngôn ngữ sử dụng trong các đoạn mã lệnh đó gọi là các ngôn ngữ Script Các ngôn ngữ script thường đơn giản và không có nhiều sức mạnh như các ngôn ngữ "kinh điển" cùng tên, hay nói cách khác, chúng là một phần rất nhỏ của một ngôn ngữ nào đó được tích hợp vào trình duyệt để thực hiện một số thao tác nhất định

Chi tiết về ngôn ngữ HTML đã có đầy rẫy trên Internet, cũng như ở các hiệu sách, nên chúng không được nhắc lại ở đây Nếu các bạn chưa biết gì về nó thì bạn phải tìm đọc các tài liệu về HTML trước khi tiếp tục theo dõi khoá học này

Lập trình Script ở máy khách

Như tên gọi của nó, lập trình script ở máy khách là viết các đoạn script chạy trên máy khách Các đoạn mã này được máy chủ gửi kèm trong tài liệu, đưa về máy khách và được thực hiện ở đây

Trong tài liệu gửi về trình duyệt, các đoạn mã này thường được tìm thấy trong cặp thẻ

<Script language ="xxxxxx">…</Script>

Có nhiều ngôn ngữ script phía máy khách Nổi tiếng hơn cả là javascript Kế đến là

vbscript và PerlScript

Trang 4

Vì tài liệu này chủ yếu tập trung vào PHP - một ngôn ngữ script chạy trên máy chủ, nên chi tiết những ngôn ngữ này không được nhắc đến trong tài liệu Riêng về javascript, các bạn

có thể tìm thấy các tài liệu tiếng Việt qua trang tìm kiếm Vinaseek.com Nếu có thời gian, tôi khuyên các bạn nên tìm hiểu về chúng Rất nhiều xảo thuật bắt mắt có thể tìm thấy trong các đoạn mã này

xử lý Chú ý rằng đối với mỗi loại ngôn ngữ server script sẽ có một chương trình xử lý

riêng Chẳng hạn các đoạn mã ASP thường được đặt trong các file *.asp, và chúng được xử lý bằng file ASP.dll.

Chi tiết về cách thức hoạt động của loại này, có thể tóm tắt như sau:

- Bước 1: Client gửi yêu cầu đến máy chủ

- Bước 2: Web server kiểm tra xem yêu cầu đó cần loại tài liệu nào Nếu đó là loại tài liệu

có chứa các đoạn mã server script, nó sẽ triệu gọi chương trình xử lý tương ứng với loại tài liệu đó

- Bước 3: Chương trình xử lý sẽ thực thi các đoạn mã server script trong tài liệu đó, và trả kết quả (thường là dưới khuôn dạng HTML) về cho web server

- Bước 4: Web server trả kết quả tìm được cho Client và ngắt kết nối

Bài 2: Cài đăt web server Apache, MySQL và PHP

1 Cài đặt giao thức TCP/IP

Các dịch vụ web server dựa trên nền giao thức TCP/IP Vì vậy trước khi cài đặt server, ta phải tiến hành cài đặt giao thức TCP/IP

Để cài đặt giao thức TCP/IP, ta vào Control Panel, chọn Network Nếu thấy dòng chữ TCP/IP đã xuất hiện trong ô Configuration, tức là giao thức TCP/IP đã được cài đặt trên máy Còn nếu không, ta kích chuột vào Add Hộp thoại Select Component hiển thị ra Kích chọn tiếp Protocol -> Add Trong danh sách bên trái, chọn Microsoft Sau đó sang danh sách bên phải, chọn TCP/IP Bấm Enter để bắt đầu quá trình cài đặt

Trang 5

Trong quá trình cài đặt, nếu máy tính của bạn chưa có card mạng thì hệ thống sẽ yêu cầu cài một trình điều khiển card mạng nào đó Đừng lo, cứ chọn đại theo chỉ dẫn sẽ xong thôi Sau khi cài đặt xong, mở cửa sổ Command Prompt ra Gõ lệnh

C:\ping 127.0.0.1

Nếu thấy có 4 dòng chữ có dạng:

Reply from 127.0.0.1: byte = xx time<xx ms TTL =xxx

Reply from 127.0.0.1: byte = xx time<xx ms TTL =xxx

Reply from 127.0.0.1: byte = xx time<xx ms TTL =xxx

Reply from 127.0.0.1: byte = xx time<xx ms TTL =xxx

tức là giao thức TCP/IP đã được cài đặt thành công

Ghi chú: Dãy số 127.0.0.1 chính là địa chỉ IP mặc định của chính máy tính bạn đang sử dụng Bạn cũng có thể sử dụng cái tên localhost thay cho địa chỉ IP 127.0.0.1 để truy cập vào máy tính của chính mình

2 Cài đặt web server, PHP, MySQL:

(xem: http://thuvienit.org/forum/forum_posts.asp?TID=1765)

3 Một số thông tin về hệ thống:

- Thư mục gốc ảo: Là thư mục www của hệ thống Đây là thư mục gốc của Apache Mọi địa chỉ URL gửi lên server sẽ được phân tích thành đường dẫn tương ứng với đường dẫn của thư mục gốc ảo trên

- Thư mục dữ liệu của MySQL: Nằm trong thư mục /mysql/data Trong thư mục này, MySQL sẽ lưu trữ các CSDL (Database) dưới dạng các thư mục, mỗi bảng trong CSDL được ghi trong một file riêng biệt

- Để thao tác với CSDL MySQL, các bạn có thể mở trình duyệt và vào phpMyAdmin

- Để xem các thông tin của hệ thống, các bạn mở trang phpinfo.php

Bài 3: Lịch sử phát triển các ứng dụng trên Web server: ASP, JSP và PHP

Trang 6

Lịch sử phát triển các ứng dụng trên Web server ASP, JSP và PHP

Vài năm trước đây, con đường thực sự duy nhất để vận chuyển các dữ liệu động tới trang Web là kỹ thuật CGI (Common Gateway Interface) Các chương trình CGI cung cấp một

sự liên hệ đơn giản để tạo các ứng dụng Web cho phép tiếp nhận các dữ liệu nhập vào, các yêu cầu truy vấn cơ sở dữ liệu từ phía người dùng và trả một vài kết quả về cho trình duyệt Các chương trình CGI có thể được viết trên một vài ngôn ngữ, trong đó phổ biến nhất là Perl Web server sử dụng CGI như là một cổng truy cập chặn giữa yêu cầu của người dùng và dữ liệu được yêu cầu Nó sẽ được nạp vào bộ nhớ như một chương trình bình thường Thông thường các web server sẽ chuyển các yêu cầu và triệu gọi chương trình CGI Sau khi chương trình kết thúc, web server sẽ đọc dữ liệu trả về từ chương trình và gửi

nó đến trình duyệt

Nhược điểm lớn nhất của kỹ thuật CGI là nó hoạt động kém hiệu quả Mỗi khi web server nhận một yêu cầu, một tuyến trình mới được tạo ra Mỗi tuyến trình lại chứa trong nó các đoạn mã lệnh, dữ liệu… và không được chia sẻ lẫn nhau, do đó gây ra lãng phí bộ nhớ Để khắc phục nhược điểm này, Microsoft và Netscape đã hợp tác và đưa ra một cải tiến đáng

kể là chuyển chúng về dạng các file thư viện liên kết động (DLL ), cho phép chia sẻ mã lệnh giữa các tuyến trình Đây chính là các kỹ thuật ISAPI và NSAPI

Đen đủi thay, các kỹ thuật dựa trên DLL không phải là đã hoàn thiện Chúng vẫn còn một

Kỹ thuật Web mới nhất của Microsoft, kết hợp HTML, các đoạn Script, các thành phần xử

lý phía server trong cùng một file, được gọi là ASP (Active Server Pages), với phiên bản mới nhất hiện nay là ASP.Net ASP được triệu gọi bởi một thư viện liên kết động gắn với các Web server của Microsoft Về bản chất, ta có thể coi ASP như là một ngôn ngữ thông

dịch vậy Một trang ASP có thể sử dụng HTML, JScript và vbscript Qua các đoạn mã nhúng này, ASP có thể truy cập đến các thành phần phía server Các thành phần này

có thể được viết trên bất kỳ ngôn ngữ nào hỗ trợ các thành phần COM của Microsoft

Trang 7

Và đây chính là sức mạnh của ASP: Nó có thể làm được bất kỳ cái gì mà máy chủ có thể làm được với các thành phần COM Sau khi được thi hành, ASP sẽ sản sinh ra một trang Web có khuôn dạng HTML và trả nó về cho Web server.

Một bất lợi lớn đối với ASP là nó chỉ có thể hoạt động trên các họ Web server của

Microsoft (bao gồm PWS trên Win9x hay IIS trên WinNT/2000/XP) Các nhà phát triển đang hướng đến những môi trường khác như Unix/Linux (hiện đã có bản Chili! ASP chạy trên các môi trường này), nhưng kết quả thì còn phải đợi thêm một thời gian nữa

Trước khi đi vào tìm hiểu lịch sử của PHP, có lẽ chúng ta cũng phải nhắc đến một tên tuổi khác là Java Server Pages hay JSP Giống như ASP, trang JSP cho phép chứa HTML, các đoạn mã Java và các thành phần Java Bean và chúng sẽ thực hiện các công việc để sản sinh

ra một trang Web để gửi về Client Bất lợi chính của loại này là phải đi kèm với "máy ảo Java", vốn không được coi là nhanh về mặt tốc độ

Lịch sử PHP

PHP - viết tắt của PHP Hypertext Preprocessor - một định nghĩa đệ quy khó hiểu!

Vào khoảng năm 1994, Rasmus Lerdorf đưa một số đoạn Perl Script vào trang Web để theo dõi xem ai đang đọc tài liệu của ông ta Dần dần, người ta bắt đầu thích các đoạn Script này và sau đó đã xuất bản một gói công cụ có tên là "Personal Home Pages" (nghĩa đầu tiên của PHP) Ông ta đã viết một cơ chế nhúng và kết hợp với một số công cụ khác để phân tích đầu vào từ các mẫu biểu HTML: FI, Form Interpreter hay Phiên dịch mẫu biểu, được tạo ra theo cách đó và được đặt tên là PHP/FI hay PHP2 Nó được hoàn thành vào khoảng giữa năm 1995

Sau đó, người ta bắt đầu sử dụng các công cụ này để xây dựng những thứ rắc rối hơn, và đội ngũ phát triển đã thay đổi từ một người duy nhất thành một nhóm các nhà phát triển nòng cốt trong dự án, và nó đã được tổ chức hoá Đó là sự bắt đầu của PHP3 Đội ngũ các nhà phát triển (Rasmus Lerdorf, Andi Gutmans, Zeev Suraski, Stig Bakken, Shane Caraveo

và Jim Winstead) đã cải tiến và mở rộng bộ máy nhúng và bổ sung thêm một số hàm API đơn giản cho phép các lập trình viên khác tự do bổ sung nhiều tính năng vào ngôn ngữ bằng cách viết các module cho nó Cấu trúc của ngôn ngữ đã được tinh chế, được kết cấu thân thiện hơn đối với những người đến từ các ngôn ngữ hướng đối tượng hay các ngôn ngữ hướng thủ tục Nếu bạn đã biết một vài ngôn ngữ lập trình khác thì khi đến với PHP, bạn sẽ không cảm thấy khó khăn

Trang 8

Phiên bản mới nhất cho đến thời điểm này là PHP 5.0.1 Các bạn có thể tham khảo chi tiết tại trang web PHP: Hypertext Preprocessor

Bài 4: Chương trình PHP đầu tiên: Hello World!

Hãy mở NotePad ra, gõ vào nội dung sau:

Line ASP CODE -:- Thư Viện Chia Sẻ IT Việt Nam

Line ASP CODE -:- Chú ý: Khi code bạn phải đổi các dấu {} thành [], “” thành ''''

OK, Save lại với cái tên test.php Copy nó vào thư mục gốc (Root Directory) mặc định của Web server Khởi động Web server Apache lên (nó sẽ hiển thị một cửa sổ đen ngòm, bạn

cứ để đó, đừng tắt nó đi, vì nếu tắt đi thì tức là bạn đã tắt chương trình Web server Apache

đi rồi đấy)

Bây giờ mở trình duyệt ra, tại ô địa chỉ, gõ nội dung sau: "http://127.0.0.1/test.php" (nhớ

bỏ hai dấu ngoặc kép đi nhé)

Nó sẽ hiển thị ra cửa sổ trình duyệt với duy nhất dòng chữ Hello world!

Chắc bạn thất vọng lắm hả? Vâng, nó chỉ có mỗi dòng chữ "Hello world!" trên màn hình trình duyệt, mà bạn có thể làm nó đơn giản hơn rất nhiều, chẳng cần đến cái PHP kia OK Đừng thất vọng vội

Trang 9

Chương trình này hoạt động như thế nào? Trước tiên chúng ta hãy tìm hiểu cách thức hoạt động của hệ trình duyệt (Web Client) và máy chủ cung cấp dịch vụ Web (Web server ) đã nhé:

Bước 1: Trình duyệt gửi một yêu cầu HTTP đến máy chủ, yêu cầu một file nào đó

Bước 2: Máy chủ sẽ chuyển yêu cầu này đến chương trình xử lý tương ứng, chính là chương trình Web server

Bước 3: Web server phân tích chuỗi yêu cầu nhận được, kiểm tra xem trình duyệt ở máy khách yêu cầu gì Nếu đó là các file bình thường (không phải là các file chứa các đoạn mã script thực thi phía máy chủ), nó sẽ tìm kiếm file đó và trả về cho trình duyệt ở máy khách Còn nếu đó là các file chứa các đoạn mã script thực thi phía máy chủ (các chương trình CGI, hay các file thư viện liên kết động ISAPI, hoặc các file *.asp hay *.php), nó sẽ triệu gọi chương trình thực thi các đoạn mã này Chương trình này sẽ chịu trách nhiệm chạy các đoạn mã, trả chúng về cho Web server dưới khuôn dạng của HTML Sau đó, Web server mới trả kết quả lấy được cho trình duyệt

Như vậy, chương trình của bạn phải được thực thi trên máy chủ, sau đó mới được trả về cho trình duyêt Và đây chính là cái gọi là "Trang Web động" Không như các trang web tĩnh, trang web động cho phép bạn có sự tương tác với máy chủ thông qua các đoạn script thực thi phía server Nhờ có sự tương tác này, bạn có thể truy xuất cơ sở dữ liệu, lấy thông tin người sử dụng, điều khiển các hoạt động khác

OK Bây giờ chắc bạn đã có được chút ít kiến thức với các hệ thống điều khiển Web Client

- Server rồi Đến lượt chúng ta bắt đầu phân tích chương trình đầu tiên kia

II Phân tích chương trình

Quay trở về đoạn mã trên

Điều đầu tiên các bạn cần phải biết, đó là các đoạn mã thực thi PHP luôn luôn được đặt trong thẻ <?php ?> Chương trình xử lý phía máy chủ sẽ chỉ thực thi các đoạn mã nằm trong thẻ này Tất cả các đoạn mã khác nằm ngoài thẻ trên đều không được xử lý trực tiếp trên server mà được đưa về trình duyệt

Trang 10

Điều thứ 3 bạn cần biết là trong file *.php của bạn, ngoài các đoạn script PHP, bạn có thể đặt bất kỳ cái gì theo khuôn dạng HTML, kể cả các đoạn javascript chạy trên máy khách Tức là ngoại trừ các đoạn script PHP ra thì nó không khác gì một file HTML thông thườngĐiều thứ 4 các bạn cần biết, là chúng ta có thể đặt nhiều đoạn mã xử lý PHP khác nhau trong cùng một file PHP Các đoạn mã PHP này sẽ được thực thi lần lượt từ đầu file xuống dưới Hãy xem ví dụ sau:

CODE -:- Thư Viện Chia Sẻ IT Việt Nam

Xin chao tat ca cac ban, day la chuong trinh PHP dau tien cua toi

Đến khi gặp đoạn PHP thứ 2, nó sẽ thực thực thi đoạn mã thứ 2 này (gọi hàm echo()) và trả

về kết quả:

"<p align=right> CMXQ </p>"

Hết đoạn mã thứ 2 Nó sẽ gửi tiếp phần còn lại của file về cho Web server Sau đó, Web server chính thức trả toàn bộ kết quả về cho trình duyệt

Trang 11

Điều quan trọng cuối cùng: Kết thúc mỗi câu lệnh của PHP đều là một dấu chấm phẩy (";"), ngoại trừ một vài trường hợp (các bạn sẽ được biết sau này)

Bây giờ tôi xin giải thích cách sử dụng hàm duy nhất trong bài này: echo()

Hàm echo được sử dụng để trả về nội dung của các biến, hằng, chuỗi cho trình duyệt Ở

ví dụ trên, hàm echo trả về chuỗi "hello, world" và chuỗi "<p align=right> Le Nguyen Sinh

</p>" Các thẻ HTML trong chuỗi sẽ được giữ nguyên khi nó được đưa về trình duyệt, và

// dòng văn bản chú thích (chỉ áp dụng trên một dòng)

/* Đoạn văn bản chú thích */ (nằm trong cặp /* và */

Lưu ý rằng các dấu chú thích này chỉ có hiệu lực trong các đoạn mã nhúng PHP thôi đấy nhé

Ví dụ

echo("Tôi là một oan hồn vô danh"); // Hiển thị lời giới thiệu lên màn hình

echo (" Sơ yếu lý lịch");

/* Hiển thị bản sơ yếu lý lịch

Copyright © by CMXQ

*/

echo ("Tên đầy đủ: XXXXXXX");

echo ("Ngày sinh: XXXX");

?>

Ký tự giải phóng

Hãy chú ý đến dòng chữ sau:

My name's "CMXQ"

Trang 12

Ký tự này (\) được gọi là ký tự giải phóng (Escaping character).

Đoạn mã đúng như sau:

Trang 13

OK Đến bây giờ, bạn đã biết một chút về PHP rồi đấy Hãy viết vài chương trình PHP, sử dụng hàm echo đi đã nhé Nhớ chú ý cách thức xử lý các kết quả trả về Hẹn gặp lại các bạn trong bài sau.

Bài 5: Hằng và biến trong PHP

- Tương tự đối với biến Một biến trong lập trình được sử dụng để lưu trữ một giá trị nào

đó thông qua tên biến Sở dĩ người ta gọi nó là biến, vì không như hằng số (giữ nguyên giá trị trong toàn bộ quá trình chạy chương trình), người ta có thể thay đổi giá trị của biến số thông qua các phép gán

Để tạo điều kiện dễ dàng trong quá trình phân tích dữ liệu, PHP quy định bất kỳ từ nào có dấu $ ở trước đều là tên của biến Ví dụ:

$ten xác định một biến có tên là ten

$custome_name: xác định một biến có tên là $custome_name

Bạn cần biết rằng tên biến là một chuỗi các ký tự chỉ bao gồm các chữ số, chữ cái (a z) và dấu gạch dưới ( _ ) Và PHP quy định phân biệt các biến chữ hoa và chữ thường là khác nhau CHẳng hạn $ab và $Ab là 2 biến hoàn toàn khác nhau Một điểm cần lưu ý khác là không được đặt tên biến bắt đầu bằng các chữ số (0 9)

Do quy định các chuỗi ký tự có chứa dấu $ ở trước là một tên biến, nên PHP tự động khởi gán giá trị của các biến này là rỗng (đối với kiểu dữ liệu văn bản) hoặc 0 đối với kiểu dữ liệu số Bạn sẽ được biết đến các kiểu dữ liệu sau này

Trang 14

Để gán giá trị cho các biến, bạn sử dụng câu lệnh gán như sau:

2 Các kiểu dữ liệu trong PHP

PHP có 3 kiểu dữ liệu cơ bản: Integer, double và string Ngoài ra còn một số kiểu dữ liệu khác, đượ xây dựng dựa trên các kiểu dữ liệu cơ bản trên, như mảng, object, mà chúng ta

sẽ đề cập đến sau Tất cả các biến đều được chỉ định kiểu dữ liệu, và như chúng ta đã nói ở trên, giá trị của chúng có thể bị thay đổi trong quá trình sử dụng

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 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

Trang 15

"2": Kiểu xâu

"2 gio": Kiểu xâu

3.Định nghĩa hằng

Hàm define() được sử dụng để tạo một hằng số:

Hàm này có cấu trúc sau:

define ("tên_hằng","giá trị của hằng");

Ví dụ:

define ("COMPANY","NS Co.Ltd");// Định nghĩa hằng COMPANY với giá trị là "NS Co Ltd"

define ("diem_so",4.5);// định nghĩa hằng diem_so với giá trị là 4.5 (hic thi lại );

Sau khi một hằng số được tạo ra, ta có thể sử dụng chúng thay cho giá trị của chúng:echo ("Tên công ty: ".COMPANY);

Điều này tương đương với echo ("Tên công ty: NS Co Ltd");

4 Một số hằng xây dựng sẵn (built in constant)

PHP có chứa một số hằng được xây dựng sẵn TRUE và FALSE là 2 hằng đã được dựng sẵn với chỉ định true (1) và false (=0 hoặc một xâu rỗng)

Hằng số PHP_VERSION chỉ định phiên bản của bộ phân tích PHP mà bạn đang dùng hiện tại Hằng PHP_OS chỉ định hệ điều hành server mà trình phân tích PHP đang chạy

Trang 16

echo (PHP_OS); // in ra màn hình "Linux" (ví dụ)

_FILE_and_LINE_ trả về tên của đoạn script (đoạn mã nhúng) đang được phân tích tại dòng hiện thời trong đoạn mã script

PHP còn cung cấp một số hàm để thông báo lỗi như E_ERROR, E_WARNING, E_PARSE

5 Lừa kiểu và ép kiểu dữ liệu

Như chúng ta đã biết, tất cả các biến PHP đều có kiểu dữ liệu riêng Kiểu dữ liệu của biến

sẽ được tự động xác định bởi giá trị đặt vào biến

Trang 17

$a=1 // $a là kiểu integer

$a=1.2 // Bây giờ, nó là kiểu double

$a="1" // Và bây giờ nó là kiểu string

a) Chuyển kiểu chuỗi và lừa kiểu dữ liệu

Nếu bạn làm các thao tác tính toán số trên một chuỗi, PHP sẽ tính toán chuỗi như là một

số Điều này được biết đến với cái tên gọi là "chuyển kiểu chuối (String conversion), mặc

dù giá trị chuỗi của nó có thể không cần phải thay đổi Trong đoạn ví dụ sau, biến $str được xác định là một chuỗi:

$str="756300 không có";

Nếu chúng ta cố cộng thêm một giá trị nguyên là 3 vào biến $str, biến $str sẽ tự động tính với số nguyên 756300:

$x=4+$str;//$x =756304

Nhưng bản thân giá trị của biến $str không thay đổi

echo ($str); // In ra màn hình chuỗi "756300 không có"

Chuyển kiểu chuỗi phải tuân theo 2 nguyên tắc sau:

- Chỉ những chuỗi bắt đầ là một xâu các chữ số Nếu chuỗi bắt đầu bằng một giá trị số hợp

lệ, chuỗi này sẽ được xác định như giá trị của nó, trong trường hợp khác, nó sẽ trả về 0 VD: chuỗi "35 tuổi" sẽ được ước lượng là 35, nhưng chuỗi "tuổi 35" sẽ chỉ xác định giá trị 0

Trang 18

- Một chuỗi sẽ chỉ được xác định như là một giá trị kiểu double nếu giá trị kiểu double được miêu tả bao gồm toàn bộ chuỗi Chuỗi "3.4", "-4.2" sẽ được ước lượng như giá trị thực 3.4 và -4.2 Nếu một ký tự không phải là ký tự kiểu số thực được đưa vào chuỗi, giá trị của chuỗi đó sẽ được ước lượng như là một số nguyên Chuỗi "3.4 dollar" sẽ thành số nguyên 3.

Trong việc cộng với chuỗi chuyển kiểu, PHP sẽ thực hiện "lừa kiểu" giữa 2 kiểu số Nếu bạn thực hiện một phép toán số học giữa kiểu thực và kiểu nguyên, giá trị sẽ là số thực

$a=(int)$a// Bây giờ, $ a là kiểu nguyên, giá trị = 11

$a= (double) $a// Bây giờ $a lại trở về kiểu thực = 11.0

$b= (string)$a// $b là giá trị kiểu chuỗi ="11"

Ngoài ra, chúng ta còn được phép ép kiểu (array) và (object)

Trang 19

(integer) tương đương với (int); (fload) và (real) tương đương với (double)

6 Một số hàm tiện ích khác

PHP có một số hàm hỗ trợ làm việc với các biến

- Hàm gettype($ten_bien) xác định kiểu của biến Nó sẽ trả về một trong các giá trị:

"integer", "double", "string", "array", "object", "class", "unknown type" (Chúng ta sẽ tìm hiểu kỹ hơn vể mảng (array) và kiểu đối tượng (object) ở các bài sau

$a=7.5; //$a là kiểu thực

settype($a,"integer"); // bây giờ nó là một số nguyên có giá trị 7

- Hàm isset($ten_bien) được sử dụng để xác định xem biến $ten_bien đã đặt một giá trị nào đó hay chưa Nếu biến đó đã có giá trị, hàm trả về true Trong truờng hợp ngược lại, hàm trả về giá trị false;

- Hàm unset($ten_bien) được sử dụng để huỷ bỏ biến $ten_bien, giải phóng bộ nhớ bị chiếm dụng của biến đó

Trang 20

CSS (Cascading Style Sheet) - Định kiểu trình bày trang HTML

Trước khi đọc bài này các bạn cần có kiến thức cơ bản về WWW, HTML cùng những kỹ năng cơ bản nhất để làm một trang web

CSS là gì?

- CSS: Cascading Style Sheet: Đây là những mẫu để quy định cách thức thể hiện các thẻ HTML Bạn có thể xem ví dụ về cách thức thể hiện các thẻ này ở CSS in Action

- CSS có 3 cách sử dụng:

+ Sử dụng trực tiếp kèm với các thẻ HTML (Inline Style Sheet)

+ Định nghĩa trong 1 trang web (Internal Style Sheet)

+ Định nghĩa thành 1 file CSS riêng (External Style Sheet)

- Style được đưa vào HTML 4.0 để giải quyết một số vấn đề

- CSS giúp bạn tiết kiệm được rất nhiều thời gian và công sức cho việc thiết kế web

- Bạn có thể định nghĩa nhiều style vào một thẻ HTML

Style (mẫu định dạng) giải quyết một số vấn đề chung:

- Ta biết rằng các thẻ HTML chuẩn được thiết kế để định nghĩa nội dung của một văn bản Đầu tiên các thẻ HTML hỗ trợ cách viết "Đây là tiêu đề", "Đây là đoạn", "Đây là bảng" bằng cách sử dụng các thẻ <H1>, <P>, <TABLE> Cách bố trí văn bản này được qui định bởi trình duyệt web và không có bất cứ một thẻ nào để định dạng văn bản

- Đến các trình duyệt thế hệ sau đặc biệt là Nescape và Internet Explorer tiếp tục đưa thêm vào các thẻ HTML mới cùng các thuộc tính định dạng riêng của mình (như các thẻ

<FONT> và thuộc tính Color ) Do đó ngày càng khó để tạo ra được một web site khi mà nội dung của nó bị tách rời khỏi cách bố trí

- Để giải quyết vấn đề này World Wide Web Consortium (W3C) đã tạo ra STYLE để đưa thêm vào trong HTML 4.0

- Cả hai trình duyệt lớn là Nescape Và Internet Explorer đều hỗ trợ CSS

CSS giúp bạn tiết kiệm được rất nhiều thời gian và công sức cho việc thiết kế web

Trang 21

- Style trong phiên bản HTML 4.0 (phiên bản chúng ta đang dùng) qui định cách thức thể hiện các thẻ HTML tương tự như thẻ <FONT> hay thuộc tính COLOR trong HTML 3.2 Style thường được lưu trong các file nằm ngoài trang web Chúng giúp bạn có thể thay đổi cách thức định dạng và cách bố trí các trang web chỉ bằng cách thay đổi riêng file CSS Chỉ khi bạn muốn thay đổi lại toàn bộ màu sắc, cách định dạng của các tiêu đề, nội dung bạn mới hiểu rõ tác dụng thực sự của CSS.

- CSS cho phép chúng ta điều khiển cách định dạng và cách bố trí của cùng lúc nhiều trang web với chỉ duy nhất 1 lần thay đổi tại một vị trí Là một người thiết kế web, bạn có thể định nghĩa 1 file CSS cho các thẻ HTML và áp dụng nó vào nhiều trang web mà bạn muốn

Để thay đổi tổng thể các trang web này bạn chỉ đơn giản là thay đổi file CSS và tất cả các trang đã áp dụng sẽ được thay đổi một cách tự động

Bạn có thể định nghĩa nhiều style vào một thẻ HTML

CSS cho phép bạn đưa các thông tin định nghĩa thẻ thông qua nhiều con đường khác nhau Style có thể được qui định ở trong chỉ một thẻ HTML, được qui định trong 1 trang web hoặc ở trong một file CSS bên ngoài

1 Inline Style (Style được qui định trong 1 thẻ HTML cụ thể)

2 Internal Style (Style được qui định trong phần <HEAD> của 1 trang HTML )

3 External Style (style được qui định trong file CSS ngoài)

4 Browser Default (thiết lập mặc định của trình duyệt)

Như vậy ta thấy các thiết lập trong 1 thẻ HTML có mức ưu tiên cao nhất, Những gì được định nghĩa ở đây sẽ bị bỏ qua tất cả các định nghĩa khác (như trong thẻ <HEAD>, File CSS ngoài, )

Cú pháp của CSS

Cú pháp của CSS được tạo nên bởi 3 thành phần:

Trang 22

- Thành phần lựa chọn (thường là một thẻ HTML) (Selector)

- Selector thường là các thẻ HTML mà bạn muốn định nghĩa thêm Property là thuộc tính

mà bạn muốn thay đổi; mỗi một thuộc tính cần phải có một giá trị Một thuộc tính và giá trị của nó được phân cách bởi dấu hai chấm (%3cgười%20%3chệ%3c Hai cặp thuộc tính-giá trị được phân cách nhau bởi dấu chấm phảy (%3chóc Toàn bộ các cặp thuộc tính-giá trị của một thẻ HTML được đặt trong cặp dấu ngoặc nhọn ({})

Ví dụ

body{color: black} /*Phần chữ trong thẻ body sẽ có màu đen*/

hay:

p {text-align: center} /*tất cả các thẻ <P> trong trang HTML sẽ được canh giữa.*/

hay định nghĩa nhiều thuộc tính:

Trang 23

Trong trường hợp bạn muốn định nghĩa nhiều thẻ giống nhau bạn có thể nhóm các thẻ lại

Ví dụ dưới đây sẽ nhóm tất cả các thẻ Header lại và định nghĩa chúng sẽ có màu xanh:

Ngày đăng: 18/10/2013, 09:49

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w