Bài giảng Lập trình Web - Chương 6: Lập trình Web với PHP
GIớITHIệUVềPHP
n PHP là gì ?
l PHP là Hypertext Preprocessor
l Ngôn ngữscript chạytrênserver
l PHP scripts chứa text, thẻHTML, script
l Sửdụng phầnmởrộng tên file : .php, .phtml
l PHP scripts sẽtrảvềkếtquảcho trình duyệtmột plain HTML
l PHP hỗtrợđểlàm việcvới nhiềuhệQTCSDL khác nhau:
MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL,
Generic ODBC,.
l Phầnmềmmãnguồnmở, miễn phí
l Chạytrênnhiều platforms (Unix, Linux, Windows)
/2011 41 Bộ môn Mạng máy tính & Truyền thông 42 ĐịNH NGHĨA SẵN TRONG PHP 1/5/2011 42 Bộ môn Mạng máy tính & Truyền thông 43 n Hàm l Cú pháp : <?php function foo($arg_1, $arg_2, /* ..., */ $arg_n) { echo "Example function.\n"; return $retval; } ?> HÀM DO NGƯờI Sử DụNG ĐịNH NGHĨA 1/5/2011 43 Bộ môn Mạng máy tính & Truyền thông 44 HÀM DO NGƯờI Sử DụNG ĐịNH NGHĨA 1/5/2011 44 Bộ môn Mạng máy tính & Truyền thông Hàm do người sử dụng định nghĩa 451/5/2011 45 Bộ môn Mạng máy tính & Truyền thông HÀM DO NGƯờI Sử DụNG ĐịNH NGHĨA 46 n Tham số l Truyền tham số : giá trị, tham chiếu l Hàm : func_num_args(), func_get_arg() l Ví dụ tham số là mảng: <?php function takes_array($input) { echo "$input[0] + $input[1] = ", $input[0]+$input[1]; } ?> 1/5/2011 46 Bộ môn Mạng máy tính & Truyền thông 47 n Tham số l Ví dụ tham số có giá trị mặc định : <?php function makecoffee($type = "cappuccino") { return "Making a cup of $type."; } echo makecoffee(); echo makecoffee("espresso"); ?> 1/5/2011 47 Bộ môn Mạng máy tính & Truyền thông HÀM DO NGƯờI Sử DụNG ĐịNH NGHĨA 48 n Tham số l Ví dụ truyền tham chiếu : <?php function add_some_extra(&$string) { $string .= 'and something extra.'; } $str = 'This is a string, '; add_some_extra($str); echo $str; // outputs 'This is a string, and something extra.' ?> 1/5/2011 48 Bộ môn Mạng máy tính & Truyền thông HÀM DO NGƯờI Sử DụNG ĐịNH NGHĨA 49 n Giá trị trả về l Ví dụ : <?php function square($num) { return $num * $num; } echo square(4); // outputs '16'. ?> 1/5/2011 49 Bộ môn Mạng máy tính & Truyền thông HÀM DO NGƯờI Sử DụNG ĐịNH NGHĨA 50 n Giá trị trả về l Ví dụ : <?php function small_numbers() { return array (0, 1, 2); } list ($zero, $one, $two) = small_numbers(); ?> 1/5/2011 50 Bộ môn Mạng máy tính & Truyền thông HÀM DO NGƯờI Sử DụNG ĐịNH NGHĨA 51 n Giá trị trả về l Ví dụ : <?php function &returns_reference() { return $someref; } $newref =& returns_reference(); ?> 1/5/2011 51 Bộ môn Mạng máy tính & Truyền thông HÀM DO NGƯờI Sử DụNG ĐịNH NGHĨA Giới thiệu về PHP Biến, kiểu dữ liệu, phép toán Lệnh điều khiển Hàm PHP kết hợp với forms Cookies, SSI (Server side includes), Date PHP-MySQL 521/5/2011 52 Bộ môn Mạng máy tính & Truyền thông 53 n PHP kết hợp với HTML Form l Hầu hết các thành phần của HTML Form đều được sẵn dùng trong các PHP script l Sử dụng biến $_GET hay $_POST để truy xuất đến các thành phần của HTML Form l Ví dụ : trang web là welcome.html nội dung như sau Enter your name: Enter your age: 1/5/2011 53 Bộ môn Mạng máy tính & Truyền thông PHP + HTML FORM PHP + HTML FORM 54 n PHP kết hợp với HTML Form l PHP script "welcome.php" sử dụng biến $_POST để truy xuất đến các thành phần của HTML Form do sử dụng method="POST" l PHP script welcome.php nội dung như sau Welcome . You are years old! 1/5/2011 54 Bộ môn Mạng máy tính & Truyền thông Giới thiệu về PHP Biến, kiểu dữ liệu, phép toán Lệnh điều khiển Hàm PHP kết hợp với forms Cookies, SSI (Server side includes), Date PHP-MySQL 551/5/2011 55 Bộ môn Mạng máy tính & Truyền thông COOKIES 56 n Cookie l Thường được sử dụng để xác định một user l Server ghi 1 tập tin cookie lên web client l PHP cho phép tạo và đọc lại những giá trị từ cookie l Hàm tạo cookie : setcookie(name, value, expire, path, domain) l Được đặt trước thẻ l Ví dụ : A cookie was set on this page! The cookie will be active when the client has sent the cookie back to the server. 1/5/2011 56 Bộ môn Mạng máy tính & Truyền thông COOKIES 57 n Cookie l Hàm isset() để đọc lại cookie đã được tạo l Ví dụ : <?php if (isset($_COOKIE["uname"])) echo "Welcome " . $_COOKIE["uname"] . "!"; else echo "You are not logged in!"; ?> 1/5/2011 57 Bộ môn Mạng máy tính & Truyền thông 58 n SSI l Chèn đoạn code chương trình của một file vào file khác trước khi thực thi l Sử dụng hàm require() l Ví dụ : Some text Some text 1/5/2011 58 Bộ môn Mạng máy tính & Truyền thông SERVER SIDE INCLUDES 59 l Cú pháp : string date (date_format[,int timestamp]) 1/5/2011 59 Bộ môn Mạng máy tính & Truyền thông HÀM THờI GIAN HÀM THờI GIAN 601/5/2011 60 Bộ môn Mạng máy tính & Truyền thông HÀM THờI GIAN 61 n Date() l Ví dụ : <?php //Prints something like: Monday echo date("l"); //Prints something like: Monday 15th of January 2003 05:51:38 AM echo date("l dS of F Y h:i:s A"); //Prints something like: Monday the 15th echo date("l \\t\h\e jS"); ?> 1/5/2011 61 Bộ môn Mạng máy tính & Truyền thông Giới thiệu về PHP Biến, kiểu dữ liệu, phép toán Lệnh điều khiển Hàm PHP kết hợp với forms Cookies, SSI (Server side includes), Date PHP-MySQL 621/5/2011 62 Bộ môn Mạng máy tính & Truyền thông MYSQL 63 n MySQL l Download : www.mysql.com, cài đặt l Có thể cài thêm giao diện quản trị l Hoặc sử dụng trình mysql (client) mysql -u root -p Enter password: ****** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 to server version: 5.0.15-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> 1/5/2011 63 Bộ môn Mạng máy tính & Truyền thông MYSQL 64 n Lệnh cơ bản MySQL l Tạo xóa cơ sở dữ liệu : create (drop) database dbname l Tạo xóa người dùng : create (drop) user uname l Tạo xóa quyền truy cập : grant (revoke) … l Tạo xóa bảng : create (drop) table tname l Chèn mẫu tin : insert into tname values (…) l Xóa mẫu tin : delete … from tname where … l Cập nhật : update tname set colname = value … 1/5/2011 64 Bộ môn Mạng máy tính & Truyền thông MYSQL 651/5/2011 65 Bộ môn Mạng máy tính & Truyền thông MYSQL 661/5/2011 66 Bộ môn Mạng máy tính & Truyền thông MYSQL 67 n Ví dụ : l Tạo cơ sở dữ liệu mydb : create database mydb; l Tạo bảng Person mysql> use mydb; Database changed mysql> CREATE TABLE Person -> ( -> lastname varchar(30), -> firstname varchar(10), -> address varchar(30), -> age int -> ); mysql> 1/5/2011 67 Bộ môn Mạng máy tính & Truyền thông MYSQL 68 n Ví dụ : l Chèn các mẫu tin vào bảng Person mysql> insert into Person values ('Thanh-Nghi', 'Do', '84/40, CMT8',31); mysql> insert into Person values ('Nguyen-Khang', 'Pham', '43/20, Mau Than',27); mysql> insert into Person values ('Nguyen-Binh', 'Le', '12, Nguyen Thong',18); mysql> insert into Person values ('Trung-Tin', 'Nguyen', '31, Ngo Quyen',12); mysql> insert into Person values ('Binh-Minh', 'Bui', 'C8, Truong Dinh',22); mysql> 1/5/2011 68 Bộ môn Mạng máy tính & Truyền thông MYSQL 69 n Ví dụ : l Thực hiện câu truy vấn trên bảng Person mysql> select * from Person; +--------------+-----------+------------------+------+ | lastname | firstname | address | age | +--------------+-----------+------------------+------+ | Thanh-Nghi | Do | 84/40, CMT8 | 31 | | Nguyen-Khang | Pham | 43/20, Mau Than | 27 | | Nguyen-Binh | Le | 12, Nguyen Thong | 18 | | Trung-Tin | Nguyen | 31, Ngo Quyen | 12 | | Binh-Minh | Bui | C8, Truong Dinh | 22 | +--------------+-----------+------------------+------+ 5 rows in set (0.00 sec) mysql>1/5/2011 69 Bộ môn Mạng máy tính & Truyền thông 70 n PHP nối kết đến MySQL l Tạo kết nối : $conn = mysql_connect(“ip_db_serv”, “username”, “passwd”); l Chọn cơ sở dữ liệu để kết nối $db = mysql_select_db(“dbname”, $conn); l Thực hiện câu SQL $result = mysql_query(“SQL command”, $conn); l Lấy 1 dòng kết quả $row = mysql_fetch_array($result); l Đọc giá trị một trường của mẫu tin $val = $row[“col-name”]; 1/5/2011 70 Bộ môn Mạng máy tính & Truyền thông PHP NốI KếT ĐếN MYSQL 71 n PHP nối kết đến MySQL l Giải phóng tài nguyên của kết quả mysql_free_result($result); l Đóng kết nối mysql_close($conn); 1/5/2011 71 Bộ môn Mạng máy tính & Truyền thông PHP NốI KếT ĐếN MYSQL 72 <?php $conn = mysql_connect("127.0.0.1", "nghi", "nghi") or die("Could not connect: " . mysql_error()); $db = mysql_select_db("mydb",$conn) or die("Could not select database"); $result = mysql_query("SELECT * FROM Person",$conn); echo ""; echo " LASTNAME FIRSTNAME ADDRESS AGE "; 1/5/2011 72 Bộ môn Mạng máy tính & Truyền thông PHP NốI KếT ĐếN MYSQL 73 while ($row = mysql_fetch_array($result)) { echo ""; echo " " . $row["lastname"]. " "; echo " " . $row["firstname"]. " "; echo " " . $row["address"] . " "; echo " " . $row["age"] . " "; echo ""; } echo ""; ?> 1/5/2011 73 Bộ môn Mạng máy tính & Truyền thông PHP NốI KếT ĐếN MYSQL VÍ Dụ : PHP NốI KếT ĐếN MYSQL 741/5/2011 74 Bộ môn Mạng máy tính & Truyền thông Cung cấp: Thông tin về PHP như: phiên bản mới, các đặc trưng mới được hỗ trợ, các bản tin về PHP Download PHP Download các thư viện lập trình ứng dụng Download được các công cụ hỗ trợ, các trình tiện ích Tài liệu về PHP 751/5/2011 75 Bộ môn Mạng máy tính & Truyền thông TÀI LIệU THAM KHảO Sách: [David Sklar & Adam Trachtenberg, 2002] David Sklar & Adam Trachtenberg, “PHP Cookbook”, O'Reilly, 2002. [Simon Stobart & Mike Vassileiou, 2004] Simon Stobart & Mike Vassileiou, “Php and Mysql Manual: Simple, Yet Powerful Web Programming”, Springer Professional Computing, 2004. [Hugh E Williams & David Lane, 2002] Hugh E Williams & David Lane, “Web Database Applications with PHP & MySQL”, O'Reilly, 2002. 761/5/2011 76 Bộ môn Mạng máy tính & Truyền thông TÀI LIệU THAM KHảO Sách: [Luke Welling & Laura Thomson, 2001] Luke Welling & Laura Thomson, “PHP and MySQL Web Development”, SAMS, 2001. [Rasmus Lerdorf & Kevin Tatroe, 2002] Rasmus Lerdorf & Kevin Tatroe, “Programming PHP”, O'Reilly, 2002. [James Fuller et al., 2003] James Fuller, Ken Egervari, Harry Fuecks, Bryan Waters, Jon Stephens and Daniel Solin, “Professional PHP Web Services”, Wrox Press, 2003. 771/5/2011 77 Bộ môn Mạng máy tính & Truyền thông TÀI LIệU THAM KHảO
File đính kèm:
- Bài giảng Lập trình Web - Chương 6_Lập trình Web với PHP.pdf