LAB PHP (CB) 5
CÁC PHƯƠNG THỨC TRUYỀN DỮ LIỆU TRONG PHP
A – LÝ THUYẾT
I – TRUYỀN VÀ NHẬN BIẾN QUA FORM
1 – Các thuộc tính quan
trọng của một FORM tương tác dữ liệu
a)
Name: Tên của Form, dùng để dễ dàng nhận
biết From với các thành phần khác trong Form
b) Method: Phương thức truyền dữ liệu thông qua Form với 2 phương thức đó là
·
POST: Phương thức truyền dữ liệu kiểu
Post (Đây là phương thức chủ yếu được sử dụng để truyền dữ liệu qua Form)
·
GET: Phương thức truyền dữ liệu kiểu Get
c)
Action: Địa chỉ của trang xử lý dữ liệu
được gửi từ Form
Chú ý: Phương thức GET 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.
2 – Cách truyền & nhận
một biến qua FORM bởi các phương thức truyền biến POST & GET
Cú pháp:
POST ta có: $_POST[“name”]. Với
name chính là tên của trường nhập dữ trong Form
GET ta có: $_ GET[“name”]. Với name chính là tên của trường nhập dữ trong Form
Ví dụ:
Tạo một Form với các trường nhập liệu để truyền các
thông tin đó qua Form bằng phương thức POST, lưu lại với tên file là form.php
Tạo một file xử lý để nhận các dữ liệu được truyền bởi
Form trên thông qua các biến trong Form, lưu lại với tên file là xuly.php
Chú ý: Việc xử lý dữ liệu trong Form với
phương thức GET cũng tương tự, chỉ việc thay thế $_POST[“name”] = $_GET[“name”]
II – TRUYỀN VÀ NHẬN BIẾN QUA TRÌNH DUYỆT
1 – Truyền & nhận biến
qua trình duyệt bởi phương thức GET
Truyền biến bằng
phương thức GET qua trình duyệt là truyền một chuỗi ký tự tiếp sau phần mở rộng
của file .php. Chuỗi này bao gồm tên biến (một hoặc nhiều biến) và giá trị
tương ứng của các biến đó
Cú pháp:
Filename.php?ten_bien=gia_tri: Với ?page=giatri là
chuỗi ký tự được thêm vào sau phần mởi rộng .php để truyền một biến có tên là ten_bien
có giá trị là gia_tri
$_ GET[“name”]. Với name
chính là tên của biến được truyền trên trình duyệt
Ví dụ:
- Tạo một file index.php như sau:
- Tạo một file xuly.php để nhận biến từ trình duyệt bằng phương thức GET như sau:
2 – Truyền đồng thời nhiều
biến qua trình duyệt bởi phương thức GET
Chúng ta có thể dễ dàng truyền đồng thời nhiều biến qua trình duyệt và nhận chúng bằng phương thức GET
Cú pháp:
Filename.php?ten_bien_1=gia_tri&ten_bien_2=gia_tri…ten_bien_n=gia_tri:
Ví dụ:
Tạo một file index.php như sau:
Tạo một file xuly.php để nhận biến từ trình duyệt bằng
phương thức GET như sau:
B – BÀI TẬP
I – BÀI TẬP THỰC HÀNH
1 – Bài tập
Bài 1:
Viết ứng dụng cho người dùng đăng nhập với các yêu cầu
sau:
- Tạo một Form đăng nhập gồm 2 trường
textbox để người dùng nhập username và password. Và một nút submit dùng để
thực hiện đăng nhập
- Thực hiện kiểm tra nếu người dùng
chưa nhập username hoặc password trước khi đăng nhập thì xuất ra thông báo
“Yêu cầu nhập username hoặc
password”
- Thực hiện kiểm tra nếu người dùng
nhập sai username hoặc password thì xuất ra thông báo “Tài khoản của bạn không hợp lệ”
- Nếu nhập đúng username là admin và password là admin thì cho phép đăng nhập thành công vào trang quản lý và xuất ra câu chào “Xin chao Admin, bạn đã đăng nhập thành công”
Bài 2:
Tạo trang index.php với cấu trúc giao diện chứa Menu
trái như sau:
Nguyễn Văn A |
Thông tin chi tiết của mỗi người |
Trần Văn B |
|
Lê thị C |
|
Hoàng Văn D |
|
Ngô Thị E |
Yêu cầu khi người dùng bấm vào link thì hiển thị thông
tin chi tiết sang bên như hình trên
- Nguyễn Văn A
thì hiển thị Tên: Nguyen-Van-A, Tuổi: 33, Nơi
sống: Ha-Noi
- Trần Văn B thì hiển thị Tên: Tran-Van-B, Tuổi: 23, Nơi sống: HCM
- Lê thị C thì hiển thị Tên: Le-Thi-C, Tuổi: 19, Nơi sống: Hue
- Hoàng Văn D thì hiển thị Tên: Hoang-Van-D, Tuổi: 47, Nơi sống: Ha-Noi
- Ngô Thị E thì hiển thị Tên: Ngo-Thi-E, Tuổi: 33, Nơi sống: Vinh
II – BÀI TẬP VỀ NHÀ
Bài 3:
Xây dựng chương trình tìm kiếm địa chỉ các website với
một số các yêu cầu về thiết kế như sau
- Tạo một Form để người dùng tương
tác với hệ thống
- Form chứa phần tử Select để người
dùng lựa chọn danh sách các chủ đề liên quan đến nội dung của website
- Phần tử Submit để thực thi Form
- Sau khi thực thi lựa chọn sẽ hiển thị danh sách các địa chỉ website có nội dung liên quan đến chủ đề đã được lựa chọn trong phần tử Select
Bài 4:
Viết ứng dụng máy tính cá nhân có chức năng thực hiện
các phép tính (cộng, trừ, nhân, chia) đơn giản 2 chữ số. với các yêu cầu cơ bản
sau:
- Tạo Form nhập dữ liệu
- Trong Form có 2 trường textbox để
nhập các số thứ nhất và số thứ hai
- Trong Form có hộp selectbox để lựa
chọn các phép toán (+, -, x, :)
- Trong Form có nút kết quả để khi
bấm kết quả sẽ cho in ra kết quả ngay tại trang tính toán
- Nếu các số cần thực hiện phép tính
chưa được nhập thì khi bấm kết quả sẽ thông báo “Các trường nhập số không
được để trống”.
- Nếu nội dung nhập vào không phải
là số thì sẽ thông báo “Các trường nhập vào phải là số”.
Để hoàn thành một ứng dụng đạt yêu cầu, cần có một số
gợi ý như sau:
- Để kiểm tra dữ liệu nhập vào có
phải là một chuỗi rỗng hay không, chúng ta sử dụng if(bien_kiem_tra == “”)
- Để kiểm tra dữ liệu nhập vào có phải là một số hay không sử dụng hàm isnumeric(bien_kiem_tra). Kết quả trả về TRUE nếu là số và FALSE nếu không phải số
Bài 5
Sử dụng phương thức truyền dữ liệu qua Form để xây dựng
ứng dụng đổi mầu nền trang web như hình dưới đây với các yêu cầu thiết kế như
sau:
- Tạo một Form cho người dùng tương
tác với hệ thống
- Tạo một nhóm các phần tử radio,
mỗi phần tử radio này đại diện cho một mầu nhất định
- Tạo một Submit Button để người
dùng thực thi công việc thy đổi mầu nền trang web
- Khi người dùng lựa chọn radio button (lựa chọn mầu) và tiến hành thực thi với Button Submit thì trang web sẽ được chuyển mầu nền với mầu đã được lựa chọn
Chú ý: Xem qua File bài giải bai_tap_5.php để phục vụ cho việc thiết kế được chính xác hơn
Bài 6
Sử dụng phương thức truyền dữ liệu qua trình duyệt để
xây dựng ứng dụng đổi mầu nền trang web như hình dưới đây với các yêu cầu thiết
kế như sau:
- Tạo các nút mầu (chính là tên của
liên kết), mỗi một nút quy định một mầu tương ứng
- Khi người dùng lựa chọn và thực thi với nút mầu nào thì mầu nền của trang web được đổi theo mầu của nút đã được lựa chọn
Chú ý: Xem qua bài giải để phục vụ cho việc thiết kế được chính xác hơn
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Thông tin cá nhân</title>
</head>
<body>
<table width="100%" border="1" cellspacing="1" cellpadding="1">
<tr>
<td width="25%">
<?php include_once('menu.php');?>
</td>
<td align="center">
<?php include_once('main.php');?>
</td>
</tr>
</table>
</body>
</html>
<?php
if(isset($_GET['ten'])){
$ten = $_GET['ten'];
}
if(isset($_GET['tuoi'])){
$tuoi = $_GET['tuoi'];
}
if(isset($_GET['noisong'])){
$noiSong = $_GET['noisong'];
}
if(isset($ten) && isset($tuoi) && isset($noiSong)){
echo '<b>Tên:</b> '.$ten.', <b>Tuổi:</b> '.$tuoi.', <b>Nơi sống:</b> '.$noiSong;
}
else{
echo 'Thông tin chi tiết của mỗi người';
}
?>
Trong file menu có nội dung sau:
<table>
<tr>
<td width="32%"><a href="index.php?ten=Nguyen-Van-A&tuoi=33&noisong=Ha-Noi">Nguyễn Văn A</a></td>
</tr>
<tr>
<td><a href="index.php?ten=Tran-Van-B&tuoi=23&noisong=HCM">Trần Văn B</a></td>
</tr>
<tr>
<td><a href="index.php?ten=Le-Thi-C&tuoi=19&noisong=Hue">Lê Thị C</a></td>
</tr>
<tr>
<td><a href="index.php?ten=Hoang-Van-D&tuoi=47&noisong=Ha-Noi">Hoàng Văn D</a></td>
</tr>
<tr>
<td><a href="index.php?ten=Ngo-Thi-E&tuoi=23&noisong=Vinh">Ngô Thị E</a></td>
</tr>
</table>
Bài 3
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
<form method="POST">
<select name="weblist">
<option selected="selected">Chon List Website</option>
<option value="edu">Website Dao tao</option>
<option value="ecom">Website thuong mai</option>
<option value="phim"> Website Giai Tri</option>
</select>
<input type="submit" name="submit_name" value="Submit" />
</form>
<?php
if($_POST["submit_name"] == $_POST["weblist"]){
echo $_POST["weblist"];
}
else{
switch($_POST["weblist"]){
case "edu": echo " <font color='#0000DD'><b>Web Education:</b></font> <br> http://abc.com<br />http://tdagsag.net <br>
http://asagsabc.us<br>";
break;
case "ecom": echo "<font color='#FF6600'><b>Web Ecom:</b></font> <br> http://absagc.orgm <br> http://abcd.us <br> http://abcdef.net <br>";
break;
case "phim": echo "<font color='#FF0099'><b>Web Entertaiment:</b></font><br> http://sagsgssg.com <br> http://sagasgs.net <br> http://egeegege.com <br>";
break;
default: echo "<font color='#BB0000'><em>Ban lua chon hien thi danh sach website theo chu de</em></font>";
}
}
?>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Máy tính cá nhân</title>
</head>
<body>
<?php
$loi = NULL;
if($_POST['submit']){
if($_POST['st1'] != ''){
$st1 = $_POST['st1'];
}
if($_POST['st2'] != ''){
$st2 = $_POST['st2'];
}
if($_POST['pt'] != 'chuachon'){
$pt = $_POST['pt'];
}
if(isset($st1) && isset($st2) && isset($pt)){
if((is_numeric($st1) == TRUE) && (is_numeric($st2) == TRUE)){
$kq = NULL;
switch($pt){
case '+': $kq = $st1 + $st2;
break;
case '-': $kq = $st1 - $st2;
break;
case 'x': $kq = $st1 * $st2;
break;
case ':': $kq = $st1 / $st2;
break;
}
}
else{
$loi = 'ST1 & ST2 Phải là kiểu Số';
}
}
else{
$loi = 'Vui lòng nhập ST1 & ST2 & PT';
}
}
?>
<table align="center" width="300" border="1" cellspacing="1" cellpadding="1">
<tr>
<td colspan="2" align="center"><?php if($loi){ echo '<span style="color:red; font-weight:bold;">'.$loi.'</span>';}else{echo 'Máy tính đơn giản';}?></td>
</tr>
<tr>
<td width="143"><form method="post"><label>Số thứ nhất</label></td>
<td width="144"><input type="text" name="st1" /></td>
</tr>
<tr>
<td><label>Phép tính</label></td>
<td>
<select name="pt">
<option selected="selected" value="chuachon">Lựa chọn Phép toán</option>
<option value="+">Phép +</option>
<option value="-">Phép -</option>
<option value="x">Phép x</option>
<option value=":">Phép :</option>
</select>
</td>
</tr>
<tr>
<td><label>Số thứ hai</label></td>
<td><input type="text" name="st2" /></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Kết quả" /></td>
<td><input type="text" name="kq" value="<?php if(isset($kq)){echo $kq;}?>" /></form></td>
</tr>
</table>
</body>
</html>
>>Xem bài tiếp theo: Bài 27 - PHP basci buổi 6 - DỮ LIỆU KIỂU MẢNG & CÁC HÀM HỖ TRỢ MẢNG
No comments:
Post a Comment