Bài giảng Lập trình web - Chương 5: PHP và MySQL - Trần Công Án (Phần 1)

Tóm tắt Bài giảng Lập trình web - Chương 5: PHP và MySQL - Trần Công Án (Phần 1): ...i∏u: hàm cú th∫ thay Íi giỏ tr‡ cıa ậi sậ. Page 1 of 1/Users/tcan/Dropbox/Bo mon/Lap tPHP/src/function-pass-by-ref.php Saved: 3/14/14, 22:39:13 Printed For: Tran Cong An <?php 1 function add10(&$arg1, $arg2) { 2 $arg1 += 10; 3 $arg2 += 10; 4 } 5 6 $a = 10; 7 $b = 1... mon/Lap t/src/Person-construct-object.php Saved: 3/20/14, 2:01:15 Printed For: Tran Cong An <?php 1 class Person { 2 public $id; 3 public $name; 4 public $dob; 5 6 protected static $count = 0; 7 8 function __construct($name) { 9 $this->id = ++s.../ 1 require "select-db.php"; 2 3 $query = "SELECT * from classics"; 4 $resull = @mysql_query($query) 5 or die("DB access error: " . mysql_error() .""); 6 7 echo "Query executed!" 8 ?>9 TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 52 [CT428] Ch˜ẽng 5.1 – PH...

pdf73 trang | Chia sẻ: havih72 | Lượt xem: 242 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Lập trình web - Chương 5: PHP và MySQL - Trần Công Án (Phần 1), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
vào.
Page 1 of 1/Users/tcan/Dropbox/Bo mon/Lap t5.1 - PHP/src/Student-object.php
Saved: 3/20/14, 2:10:36 Printed For: Tran Cong An
<?php	1
	 require 'Student.php';	2
	3
	 $tom = new Student("Mr. Tom");	4
	 $tom->displayInfo();	5
	 //output:	6
	 // 1 - Mr. Tom - 07/03/2014 - 07/03/2014	7
	 	8
	 $tom->set(7, $tom->name, "01/02/2002");	9
	 $tom->displayInfo();	10
	 //output:	11
	 // 7 - Mr. Tom - 01/02/2002 - 07/03/2014	12
?>13
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 41
[CT428] Ch˜ẽng 5.1 – PHP
L™p trỡnh H˜ểng ậi t˜ềng (OOP)
Mẻt sậ vòn ∑ khỏc trong OOP
Mẻt Sậ Vòn ∑ Khỏc Trong OOP
I Lểp Êo (abstract class).
I Ng´n ch∞n ố ph˜ẽng th˘c (final method).
I Giao diên (interface) và cài ∞t giao diên (implementation).
I Xuòt thụng tin tá ẻng cho ậi t˜ềng (__toString()).
I Cỏc cỏch chốn oĐn mó trong cỏc t™p tin khỏc vào.
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 42
[CT428] Ch˜ẽng 5.1 – PHP
PHP và Form
HTML Form
HTML Form
I Form: là mẻt t/phản cıa trang web, cho phộp ng˜èi dựng nh™p liêu.
Page 1 of 1/Users/tcan/Dropbox/Bo mon/Lap tn ngu HTML/src/form-example.html
Saved: 3/17/14, 12:33:48 Printed For: Tran Cong An
	1
	 	2
3
I action: trang PHP s≥ ỏp ˘ng yờu
cảu (x˚ l˛ d/liêu form + trÊ k/quÊ).
I method: POST | GET
I POST: d˙ liêu cıa form chốn
bờn trong yờu cảu HTTP.
I GET: d˙ liêu cıa form kốm theo
URL (max 255B – 8K).
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 43
[CT428] Ch˜ẽng 5.1 – PHP
PHP và Form
Lòy d˙ liêu g˚i v∑ t¯ form
Lòy D˙ Liêu G˚i V∑ T¯ Form
I Dựng bi∏n $_GET (p/th˘c GET), $_POST (p/th˘c POST) ho∞c
$_REQUEST (cÊ hai p/th˘c). Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/login.html
Saved: 3/20/14, 7:18:05 Printed For: Tran Cong An
	 	 	1
	2
	 	3
	 Login form	4
	 Name 	5
	 Pass 	6
	 	7
	 	8
	9
10
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 44
[CT428] Ch˜ẽng 5.1 – PHP
PHP và Form
Lòy d˙ liêu g˚i v∑ t¯ form
Lòy D˙ Liêu G˚i V∑ T¯ Form
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/ck_login.php
Saved: 3/17/14, 19:24:23 Printed For: Tran Cong An
	1
	2
	3
	4
	5
<?php	6
	 if ($_POST["pword"] == "abc")	7
	 	 echo "Welcome ". $_POST["uname"];	8
	 else 	9
	 	 echo "Sorry ". $_POST['uname'] 	10
	 	 	 . ", wrong pass!";	11
?>	12
	13
	14
15
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 45
[CT428] Ch˜ẽng 5.1 – PHP
PHP và Form
Lòy d˙ liêu g˚i v∑ t¯ form
Ki∫m Tra Sá TÁn TĐi Cıa D˙ Liêu
I Ki∫m tra sá tÁn tĐi cıa mẻt d˙ liêu g˚i t¯ form: hàm isset().
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/ck_login.php
Saved: 3/17/14, 22:16:51 Printed For: Tran Cong An
	1
	2
	3
	 <?php	4
	 	 if (isset($_POST["uname"]) && isset($_POST["pword"])) {	5
	 	 	 if ($_POST["pword"] == "abc")	6
	 	 	 	 echo "Welcome ". $_POST["uname"];	7
	 	 	 else 	8
	 	 	 	 echo "Sorry ". $_POST['uname'] . ", wrong pass!";	9
	 	 }	10
	 	 else {	11
	 	 	 echo "" 	12
	 	 	 	 . "uname and pword are expected";	13
	 	 }	14
	 ?>	15
	16
	17
18
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 46
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
Truy Xuòt D˙ Liêu MySQL Trong PHP
I Viêc truy xuòt d˙ liêu MySQL t¯ PHP bao gÁm cỏc b˜ểc:
1. TĐo nậi k∏t ∏n MySQL.
2. ChÂn CSDL.
3. TĐo cõu truy vòn (DDL ho∞c DML).
4. Thác thi cõu truy vòn.
5. Nh™n d˙ liêu, x˚ l˛ d˙ liêu và xuòt ra trang web.
6. L∞p lĐi cỏc b˜ểc 5 và 6 cho ∏n khi truy c™p h∏t cỏc d˙ liêu cản
thi∏t.
7. úng nậi k∏t.
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 47
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
TĐo nậi k∏t
TĐo Nậi K∏t
I TĐo nậi k∏t:
resource mysql_connect("host_name", "username", "password")
I host_name: ‡a chứ cıa MySQL server.
I username: tờn ng˜èi dựng CSDL.
I password: m™t khâu ng˜èi dựng CSDL.
I Thụng th˜èng, cỏc thụng sậ nậi k∏t CSDL ˜ềc l˜u trong 1 t™p tin
riờng (.inc ho∞c .php) và ˜ềc chốn vào t™p tin PHP cản truy xuòt
CSDL băng lênh require_once ’filename’.
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 48
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
TĐo nậi k∏t
TĐo Nậi K∏t
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/mysql-connect.php
Saved: 3/20/14, 10:15:00 Printed For: Tran Cong An
<?php 	 /* mysql-connect.php */	1
	 require_once 'connection.inc';	2
	 	3
	 $db_server = @mysql_connect($hostname, $username, $password);	4
	 if (!$db_server) {	5
	 	 echo "Unable connect to MySQL";	6
	 }	7
	 else {	8
	 	 echo "Connect to MySQL!!!";	9
	 }	10
?>11
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 49
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/connection.inc
Saved: 3/18/14, 0:46:55 Printed For: Tran Cong An
<?php	1
	 /* connection.inc */	2
	 $hostname = "localhost";	3
	 $username = "root";	4
	 $password = "";	5
	 $database = "ltweb"	6
?>7
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
TĐo nậi k∏t
Ki∫m Tra Và X˚ L˛ Lẩi
I Cỏc cỏch ki∫m tra và x˚ l˛ lẩi:
I Dựng lênh i∑u kiên
(nh˜ trong VD tr˜ểc).
I K∏t hềp lênh die(str ) và
mysql_error().
Page 1 of 1/Applications/XAMPP/xamppfiles/hocs/LTW428/mysql-connect-die.php
Saved: 3/18/14, 3:08:38 Printed For: Tran Cong An
<?php 	 /* mysql-connect-die.php */	1
	 require_once 'connection.inc';	2
	 $db_server = @mysql_connect($hostname, $username, $password) 	3
	 	 or die("Unable connect to MySQL: " . mysql_error() ."");	4
	 	 	5
	 echo "Connected to MySQL!!!";	6
?>7
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 50
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
ChÂn Cẽ s d˙ liêu
ChÂn Cẽ S D˙ Liêu
I Lênh: int mysql_select_db("database_name", $connection)
I databse_name: tờn CSDL cản chÂn.
I $connection: 1 ậi t˜ềng connection.
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/select-db.php
Saved: 3/19/14, 1:33:51 Printed For: Tran Cong An
<?php	 /* select-db.php */	1
	 require "mysql-connect-die.php"; 	2
	3
	 mysql_select_db($DAtabase, $db_server) or 	4
	 	 die("Unable to select DB: " . mysql_error() . "");	5
	 	 	6
	 echo "The DB '" . $database . "' has been selected!";	7
?>8
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 51
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
TĐo và thác thi cõu truy vòn CSDL
TĐo Và Thác Thi Cõu Truy Vòn
I Truy vòn CSDL: resource mysql_query("query"[,$connection])
I query: cõu truy vòn.
I $connection: ậi t˜ềng connection.
Page 1 of 1/Applications/XAMPP/xamppfiles/hLTW428/select-classics-table.php
Saved: 3/18/14, 3:10:32 Printed For: Tran Cong An
<?php	 /* select-classics-table.php */	1
	 require "select-db.php";	2
	3
	 $query = "SELECT * from classics";	4
	 $resull = @mysql_query($query) 	5
	 	 or die("DB access error: " . mysql_error() ."");	6
	 	 	7
	 echo "Query executed!"	8
?>9
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 52
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
Truy xuòt d˙ liêu trÊ v∑ t¯ cõu truy vòn
Truy Xuòt D˙ Liêu Cıa Cõu Truy Vòn
I Cỏc hàm s˚ dˆng ∫ truy xuòt d˙ liêu trÊ v∑ trong cõu truy vòn:
I mysql_num_rows($q_result): ∏m sậ mâu tin trong $q_result.
I mysql_fetch_fields($q_result): ∏m sậ l˜ềng tr˜èng.
I mysql_result($q_result, $row_index, "col_name"): lòy giỏ tr‡ 1
tr˜èng.
I mysql_fetch_row($q_result): trÊ v∑ 1 mÊng vểi giỏ tr‡ cỏc phản t˚
là giỏ tr‡ cıa cỏc tr˜èng trong bÊng.
I mysql_fetch_array($q_result) : t˜ẽng tá hàm mysql_fetch_row vểi
chứ sậ mÊng là tờn tr˜èng.
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 53
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
Truy xuòt d˙ liêu trÊ v∑ t¯ cõu truy vòn
Truy Xuòt D˙ Liêu Cıa Cõu Truy Vòn – VD
Page 1 of 1/Applications/XAMPP/xamppfiles/hocs/LTW428/connect-select-db.php
Saved: 3/20/14, 10:41:35 Printed For: Tran Cong An
<?php	 /* connect-select-db.php */	1
	 require_once 'connection.inc';	2
	 	3
	 $conn = @mysql_connect($hostname, $username, $password) 	4
	 	 or die("Unable connect to MySQL: " . mysql_error() ."");	5
	 	 	6
	 mysql_select_db($database, $conn) or 	7
	 	 die("Unable to select DB: " . mysql_error() . "");	 	8
?>9
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 54
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
Truy xuòt d˙ liêu trÊ v∑ t¯ cõu truy vòn
mysql_result() – Vớ Dˆ
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/mysql-result.php
Saved: 3/20/14, 10:45:02 Printed For: Tran Cong An
<?php	 /* mysql-result.php */	1
	 require_once 'connect-select-db.php';	2
	3
	 $query = "SELECT * from classics";	4
	 $q_result = @mysql_query($query) 	5
	 	 or die("DB access error: " . mysql_error() ."");	 	6
	 	7
	 $num_rows = mysql_num_rows($q_result);	8
	 for ($i = 0; $i < $num_rows; $i++) {	9
	 	 echo "" . ($i+1) . ". ";	10
	 	 echo mysql_result($q_result, $i, "title") . "";	 	11
	 	 echo "Author: " . mysql_result($q_result, $i, "author");	12
	 	 echo "";	13
	 }	14
?>15
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 55
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
Truy xuòt d˙ liêu trÊ v∑ t¯ cõu truy vòn
mysql_fetch_row() – Vớ Dˆ
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/mysql-fetch-row.php
Saved: 3/20/14, 10:48:00 Printed For: Tran Cong An
<?php	 /* mysql-fetch-row */	1
	 require_once 'connect-select-db.php';	2
	3
	 $query = "SELECT * from classics";	4
	 $q_result = @mysql_query($query) 	5
	 	 or die("DB access error: " . mysql_error() ."");	 	6
	 	7
	 $num_rows = mysql_num_rows($q_result);	8
	9
	 for ($i = 0; $i < $num_rows; $i++) {	10
	 	 $row = mysql_fetch_row($q_result);	11
	 	 echo "" . ($i+1) . ". " . $row[1] . "";	12
	 	 echo "Author: " . $row[0] . "";	13
	 }	 	14
?>15
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 56
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
Truy xuòt d˙ liêu trÊ v∑ t¯ cõu truy vòn
mysql_fetch_array() – Vớ Dˆ
Page 1 of 1/Applications/XAMPP/xamppfiles/hocs/LTW428/mysql-fetch-array.php
Saved: 3/20/14, 10:50:32 Printed For: Tran Cong An
<?php	 	 /* mysql-fetch-array.php */	1
	 require_once 'connect-select-db.php';	2
	3
	 $query = "SELECT * from classics";	4
	 $q_result = @mysql_query($query) 	5
	 	 or die("DB access error: " . mysql_error() ."");	 	6
	 	7
	 $num_rows = mysql_num_rows($q_result);	8
	9
	 for ($i = 0; $i < $num_rows; $i++) {	10
	 	 $row = mysql_fetch_array($q_result);	11
	 	 echo "" . ($i+1) . ". " . $row["title"] . "";	12
	 	 echo "Author: " . $row[0] . "";	13
	 }	 	14
?>15
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 57
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
Ng≠t nậi k∏t
Ng≠t Nậi K∏t – Hàm mysql_close() Page 1 of 1/Applications/XAMPP/xamppfiles/hocs/LTW428/complete-skeleton.php
Saved: 3/18/14, 21:59:41 Printed For: Tran Cong An
<?php	 /* complete-skeleton.php */	1
	 //connect + select DB	2
	 $conn = @mysql_connect("hostname", "uname", "pword") or die("...");	3
	 @mysql_select_db("db_name", $conn) or die("...");	4
	 	5
	 //create query string + execute query	6
	 $query = "SELECT * FROM table_name";	7
	 $q_result = @mysql_query($query) or die("...");	8
	 	9
	 //use the data	10
	 while ($row = mysql_fetch_array($q_result)) {	11
	 	 //...process the record...	12
	 }	13
	 	14
	 //close the connection	15
	 mysql_close($conn);	16
?>17
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 58
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
Vớ dˆ tÍng hềp 1 – Tỡm ki∏m sỏch
Tỡm Ki∏m Sỏch – Mụ TÊ
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 59
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
Vớ dˆ tÍng hềp 1 – Tỡm ki∏m sỏch
Tỡm Ki∏m Sỏch – Webpage & Form Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/title-search-adv.php
Saved: 3/18/14, 21:30:57 Printed For: Tran Cong An
	 	 /* title-search.php */	1
	 	2
	 	 	3
	 	 <input type="text" size="40" name="search_kw" 	4
	 	 	 value="<? if (!empty($_POST['search_kw'])) 	5
	 	 	 	 	 	 	 	 echo $_POST['search_kw'];?>"/>	6
	 	 	7
	 	 	8
	 	 Search result	9
	 	 <?php	10
	 	 	 if (isset($_POST['search_kw'])) {	11
	 	 	 	 include 'title-search-func-adv.php';	12
	 	 	 	 search($_POST['search_kw']);	13
	 	 	 }	14
	 	 ?>	15
	 	16
	17
18
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 60
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
Vớ dˆ tÍng hềp 1 – Tỡm ki∏m sỏch
Tỡm Ki∏m Sỏch – Hàm Search Page 1 of 1/Applications/XAMPP/xamppfiles/hLTW428/title-search-func-adv.php
Saved: 3/20/14, 10:52:17 Printed For: Tran Cong An
<?php	 /* title-search-func.php */	1
	 function search($keyword) {	2
	 	 require "connect-select-db.php";	3
	 	 $keyword = trim($keyword);	4
	 	 $new_kw = str_replace(" ", "%' OR title LIKE '%", $keyword);	5
	 	 $query = "SELECT * FROM classics WHERE title LIKE '%$new_kw%'";	6
	 	7
	 	 $result = mysql_query($query, $conn) 	8
	 	 	 or die ("DB accessed failed: " . mysql_error());	9
	 	10
	 	 while ($row = mysql_fetch_array($result)) 	11
	 	 	 echo "$row[title]. $row[author] ($row[year]).";	12
	 	13
	 	 if (mysql_num_rows($result) == 0)	14
	 	 	 echo "No title found";	15
	 }	16
?>	17
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 61
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
Vớ dˆ tÍng hềp 2 – Thờm/Xúa sỏch
Thờm/Xúa Sỏch – Mụ TÊ
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 62
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
Vớ dˆ tÍng hềp 2 – Thờm/Xúa sỏch
Thờm/Xúa Sỏch – Main Page Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/title-manager.phpSaved: 3/20/14, 10:56:25 Printed For: Tran Cong An
<?php	 /* title-manager.php */	1
	2
	 require "connect-select-db.php";	 //connect to MySQL + select DB	3
	 require "title-delete-process.php";	//delete record if needed	4
	 require "title-add-process.php";	 //add new record if needed	5
	 require "title-add-form.php";	 	 //create [add title] form	6
	 require "title-delete-form.php";	 //contains 'del_form_gen(...)'	7
	 	8
	 //retrieve all records (to create [delete title] forms)	9
	 $query = "SELECT * FROM classics";	10
	 $result = mysql_query($query, $conn) 	11
	 	 or die ("DB Access error: " . mysql_error());	12
	13
	 while ($row = mysql_fetch_array($result))	14
	 	 del_form_gen($row);	 //generate [delete title] form	15
	 	16
	 mysql_close($conn);	 	 //close connection	17
?>18
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 63
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
Vớ dˆ tÍng hềp 2 – Thờm/Xúa sỏch
Thờm/Xúa Sỏch – Ki∫m Tra Xúa Sỏch
Page 1 of 1/Applications/XAMPP/xamppfiles/h/LTW428/title-delete-process.php
Saved: 3/18/14, 22:18:47 Printed For: Tran Cong An
<?php	 /* title-delete-process */	1
	2
	 if (isset($_POST['delete']) && isset($_POST['isbn'])) {	3
	 	 $isbn = $_POST['isbn'];	4
	 	 $query = "DELETE FROM classics WHERE isbn='$isbn'";	5
	 	 	6
	 	 if (!mysql_query($query, $conn)) {	7
	 	 	 echo " DELETE failed: " . $isbn . ". Error: " 	8
	 	 	 	 	 . mysql_error() . "";	9
	 	 }	10
	 	 else	11
	 	 	 echo "*Title '$isbn' has been deleted";	12
	 }	13
?>14
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 64
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
Vớ dˆ tÍng hềp 2 – Thờm/Xúa sỏch
Thờm/Xúa Sỏch – Ki∫m Tra Thờm Sỏch
Page 1 of 1/Applications/XAMPP/xamppfiles/hocs/LTW428/title-add-process.php
Saved: 3/18/14, 22:18:05 Printed For: Tran Cong An
<?php	 /* title-add-process */	1
	2
	 if (isset($_POST["add"])) {	3
	 	 $isbn = $_POST["isbn"];	 $author = $_POST["author"];	4
	 	 $title = $_POST["title"];	 $year = $_POST["year"];	5
	 	 $type = $_POST["type"];	6
	 	 	7
	 	 $query = "INSERT INTO classics VALUES " .	8
	 	 	 "('$isbn', '$author', '$title', '$year', '$type', 0)";	9
	 	 if (!mysql_query($query, $conn)) 	10
	 	 	 echo "INSERT failed. " . mysql_error() . "";	11
	 	 else	12
	 	 	 echo "*Title '$isbn' has been added";	13
	 }	14
?>15
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 65
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
Vớ dˆ tÍng hềp 2 – Thờm/Xúa sỏch
Thờm/Xúa Sỏch – TĐo Form Thờm Sỏch
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/title-add-form.php
Saved: 3/18/14, 22:09:28 Printed For: Tran Cong An
<?php 	 /* title-add-form */	1
	 echo <<<_ADD_TITLE_FORM	2
	 	3
	 	4
 ISBN 	5
 Title 	6
 Author 	7
 Year 	8
 Category 	9
 	10
	 	11
	 	12
	 	13
_ADD_TITLE_FORM;	14
?>15
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 66
[CT428] Ch˜ẽng 5.1 – PHP
MySQL và PHP
Vớ dˆ tÍng hềp 2 – Thờm/Xúa sỏch
Thờm/Xúa Sỏch – TĐo Form Xúa Sỏch Page 1 of 1/Applications/XAMPP/xamppfiles/hocs/LTW428/title-delete-form.phpSaved: 3/18/14, 22:50:27 Printed For: Tran Cong An
<?php	 /* title-delete-form */	1
	 function del_form_gen($row) {	2
	 	 echo <<<_ADD_TITLE_FORM	3
	 	 	4
	 	 	5
 ISBN $row[isbn]	6
 Title $row[title]	7
 Author $row[author]	8
 Year $row[year]	9
 Category $row[type]	10
 	11
 	12
	 	 	13
 	14
	 	 	15
_ADD_TITLE_FORM;	16
	 } //add_form_gen()	17
?>	18
19
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 67
[CT428] Ch˜ẽng 5.1 – PHP
Cookie và session
Cookie
Cookie
I Là mẻt t™p tin nh‰ ˜ềc serve y/cảu l˜u  m/tớnh ng˜èi dựng web.
I Tá ẻng ˜ềc g˚i kốm theo cỏc thụng iêp HTTP request.
I TĐo cookie: setcookie(name, value [, expire] ...)
I Hàm này phÊi ˜ềc ∞t tr˜ểc thƠ 
I Truy xuòt giỏ tr‡ cookie: dựng bi∏n $_COOKIE
I Hıy cookie:
I H∏t thèi gian tÁn tĐi (expired).
I N∏u khụng cú thèi gian tÁn tĐi, cookie s≥ b‡ hıy khi t≠t browser.
I Hıy t˜èng minh: ∞t expire cıa cookie là mẻt g/tr‡ trong quỏ kh˘.
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 68
[CT428] Ch˜ẽng 5.1 – PHP
Cookie và session
Cookie
Cookie – Vớ Dˆ Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/cookie-create.php
Saved: 3/18/14, 23:40:56 Printed For: Tran Cong An
<?php	1
	 setcookie("username", "Alibaba", 	2
	 	 	 time() + 60 * 10);	3
?>	4
 <body	5
	 Cookie 'username' created	6
 </html	7
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs LTW428/cookie-access.php
Saved: 3/18/14, 23:40:39 Printed For: Tran Cong An
 	1
	 <?php	2
	 	 if (isset($_COOKIE['username'])) 	3
	 	 	 echo "Welcome $_COOKIE[username]";	4
	 	 else 	5
	 	 	 echo "Welcome GUEST";	6
	 ?>	7
 8
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 69
[CT428] Ch˜ẽng 5.1 – PHP
Cookie và session
Session
Session
I Là cỏc bi∏n chia sƠ gi˙a cỏc trang web trong 1 ˘ng dˆng web, tÁn
tĐi trờn server
I Chứ “nhỡn thòy ˜ềc” trong phiờn làm viêc cıa ng˜èi dựng.
I B≠t ảu session: session_start(), ∞t tr˜ểc thƠ .
I Truy xuòt bi∏n session: $_SESSION['s_name']
I Hıy session: unset($session) ho∞c session_destroy()
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 70
[CT428] Ch˜ẽng 5.1 – PHP
Cookie và session
Session
Session Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/login-session.php
Saved: 3/19/14, 0:41:43 Printed For: Tran Cong An
<?php	 /* login.php */	1
	 //$login_ok = /* check the login information */;	2
	 if ($login_ok) {	3
	 	 session_start();	4
	 	 $_SESSION['logged_in'] = true;	5
	 	 /* redirect to other page */	6
	 }	7
?>	8
	9
	 	10
	11
Page 1 of 1/Applications/XAMPP/xa ppfiles/htdocs/LTW428/logout-session.php
Saved: 3/19/14, 0:39:42 Printed For: Tran Cong An
<?php	 /* logout */	1
	 session_start();	2
	 if (isset($_SESSION['logged_in'])) 	3
	 	 unset($_SESSION['logged_in']);	4
?>5
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 71
[CT428] Ch˜ẽng 5.1 – PHP
Cookie và session
Session
Session
Page 1 of 1/Applications/XAMPP/xamppfiles/hs/LTW428/update-data-session.php
Saved: 3/19/14, 0:41:19 Printed For: Tran Cong An
<?php	 /* update-data.php */	1
	2
	 session_start();	3
	 if (!isset($_SESSION['logged_in'])) {	4
	 	 header('Location: login-session.php');	5
	 	 die();	6
	 }	7
?>	8
	9
	10
	 	11
12
I oĐn mó lênh ki∫m tra session ˜ềc vi∏t trong 1 t™p tin riờng và
˜ềc include vào cỏc trang web cản k/tra ´ng nh™p.
TS. Trản Cụng Án (Khoa CNTT&TT) [CT428] Ch˜ẽng 5.1 – PHP 72

File đính kèm:

  • pdfbai_giang_lap_trinh_web_chuong_5_php_va_mysql_tran_cong_an_p.pdf