Tải bản đầy đủ (.ppt) (51 trang)

Get Post COOKIE SESSION

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (266.85 KB, 51 trang )

1
CHƯƠNG 5
PHƯƠNG THỨC POST, GET
COOKIE VÀ SESSION
TRONG PHP


2
Giới thiệu

Dữ liệu của người dùng từ trình duyệt sẽ
được gửi lên máy chủ dưới dạng từng
cặp biến=giá_trị và có thể đi theo 4
đường khác nhau. Tuỳ theo từng con
đường cụ thể, trên máy chủ ta cũng có
các cách khác nhau để lấy dữ liệu được
gửi lên.. 4 con đường đó là: GET, POST
và COOKIES, Session. Vậy GET, POST
và COKIES, Session là gì?


3
Cơ chế truyền nhận dữ liệu

Trang web nhập dữ liệu:

Sử dụng đối tượng <form>

Nhập dữ liệu thông qua các <control>

Thực hiện việc truyền dữ liệu thông qua Push


button Submit
<form name="form1" method="post/get"
action=“URL">
<input type="submit" name="Submit"
value="Submit">
</form>


4
Cơ chế truyền nhận dữ liệu (tt)

Trang nhận dữ liệu (URL) sử dụng
các biến toàn cục của PHP
$_POST[“NameOfControl”]
$_GET[“NameOfControl”]
$_REQUEST[‘‘NameOfCotrol’’];


5
Trang nhập dữ liệu (login.php)
<form name="form1" method="get" action="main.php">
<p>
<label>User name
<input name="USER" type="text" id="USER">
</label>
</p>
<p>
<label>Pass word
<input name="PASS" type="text" id="PASS">
</label>

</p>
<p>
<input type="submit" name="Submit" value="Submit">
</p>
</form>


6
Giao diện trang nhập dữ liệu


7
Trang nhận dữ liệu (main.php)
<?php
echo "user name:".$_GET["USER"]."</br>";
echo "Pass word:".$_GET["PASS"]."</br>";
?>


8
Trang nhận dữ liệu


9
Truyền dữ liệu bằng phương thức Get

Dữ liệu gửi từ trình duyệt lên qua phương thức
GET là phần dữ liệu được nhập trực tiếp theo
sau địa chỉ URL do trình duyệt gửi lên, được
phân biệt với tên file script bằng dấu hỏi chấm

(?)

Ví dụ: khi ta gõ vào trình duyệt địa chỉ URL sau:
/>Khi đó, trình duyệt sẽ gửi theo địa chỉ trên một
cặp biến = giá trị, trong đó biến có tên là
TOPIC_ID và giá trị là 161 (TOPIC_ID=161).


10
Truyền dữ liệu bằng phương thức Get

Chúng ta cũng có thể đưa lên nhiều cặp
biết=giá_trị bằng cách phân cách chúng
bởi dấu &:
/>=Reply&TOPIC_ID=161&FORUM_ID=20
Với địa chỉ URL trên, chúng ta sẽ gửi lên
3 cặp biến=giá_trị theo phương thức
GET, đó là: method=Reply,
TOPIC_ID=161 và FORUM_ID=20.


11
Truyền dữ liệu bằng phương thức Get

Khi trình duyệt gửi các thông tin này lên
máy chủ, PHP sẽ tự động sinh ra một
mảng có tên là $_GET[] để nắm giữ tất
cả các cặp biến và giá trị đó, trong đó,
chỉ số của mảng chính là một chuỗi
mang tên của tên biến và giá trị của chỉ

số đó chính là giá trị của biến do trình
duyệt gửi lên. Ví dụ, với địa chỉ URL sau:
/>Reply&TOPIC_ID=161&FORUM_ID=20


12
Truyền dữ liệu bằng phương thức Get

PHP sẽ tự động sinh ra một mảng
$_GET có nội dung sau:

$_GET["method"] = "Reply" // tương ứng với
cặp method=Reply

$_GET["TOPIC_ID"] = 161 // tương ứng với
cặp TOPIC_ID=161

$_GET["FORUM_ID"] = 20 // tương ứng với
cặp FORUM_ID=20


13
Nhận dữ liệu bằng phương thức GET

Nhận dữ liệu thông qua biến toàn cục của php
$_GET[“NameOfControl”]
$_REQUEST[“NameOfControl”]


14

Ví dụ 1
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<a href=‘chitietsach.php?Ma=N001’> Chi tiết </a>
</body>
</html>

Trang “get.php”


15
Ví dụ 1(tt)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
echo "Ma sách lấy được là".$_GET["Ma"];
?>
</body>
</html>


Trang lấy dữ liệu (chitietsach.php)


16
Ví dụ 2
<?// Hàm isset được sử dụng để kiểm tra xem một biến đã được thiết lập hay
chưa
if (isset ($_GET["user"]))
{
if ($_GET["user"]==“hung")
{
echo "Hello, my boss. Good morning!";
}
else
{
echo "Hello, " . $_GET["user"] . ". Good morning!";
}
}
else
{
echo "Hello, guest. How do you do?";
}?>


17
Chạy ví dụ 2

Ta lưu ví dụ trên với tên file vd1.php

Sau đó ta bật trình duyệt và gõ vào địa

chỉ
http://localhost/welcome.php?user=hung
Kết quả?


18
Phương thức POST

Post là phần dữ liệu được gửi qua các
form HTML có method ="POST"

Lấy dữ liệu:
$_POST[‘‘NameOfControl’’] ;
$_REQUEST[‘‘NameOfCotrol’’];



19
Ví dụ 1
<form method="POST " action="">
<p>
User Name:<input type="text" name="T1" size="20"> </p>
<p>
Password:
<input type="password" name="T2" size="20"></p>
<p>Sex: <Select name ="sex">
<option value =1>Male </option>
<option value =0>Female </option>
</select>
</p>

<input type="submit" value="Submit" name="B1" >
</form>
<?
if(isset($_POST["B1"])&& ($_POST["B1"]=="Submit"))
echo"<script language='javascript'>window.open('')</script>";
//header('Location: ;
else
echo "không";
?>


20
Chạy Ví dụ 1

Khi người dùng nhập user name là :
admin. password là : 12345 và chọn sex
là Male, khi đó, mảng

$_POST sẽ có các phần tử sau:

$_POST["T1"] = admin

$_POST["T2"] = 12345
$_POST["sex"] = 1


21
Ví dụ 2 _ Giải phương trình bậc 1
<form method="POST">
<p style="margin-top: 0; margin-bottom: 0">

Nhập a:<input type="text" name="a" size="20"></p>
<p style="margin-top: 0; margin-bottom: 0">Nhập b:<input type="text"
name="b" size="20"></p>
<p style="margin-top: 0; margin-bottom: 0">
<input type="submit" value="Tính" name="B1"></p>
</form>
<?php
if(isset($_POST[‘B1’])&&($_POST[‘B1’]==‘Tinh’))
{ $a=0;
$b=0;
if (isset ($_POST["a"]))
{
$a =$_POST["a"];
}
if (isset ($_POST["b"]))
{
$b =$_POST["b"];
}


22
Ví dụ 2 _ Giải phương trình bậc 1
if ($a<>0)
{
echo "<BR>Nghiem la: " . -$b/$a;//Chỗ này là -$b/$a
}
else
{
if ($b==0)
{

echo "<BR>Vo so nghiem";
}
else
{
echo "<BR>Vo nghiem";
}
}
?>


23
Kết quả


24
Ví dụ
<form name="form1" method="post" action="">
<label> </label>
<table width="357" border="1">
<tr>
<td width="178"><p>
<label>
<input type="text" name="t1">
</label>
</p>
<p>
<label>
<input type="text" name="t2">
</label>
</p>

<p>
<input type="submit" name="Submit" value=" = ">
</p>


25
Ví dụ (tt)
<p>
<label>
<input type="text" name="t3">
</label>
</p></td>
<td width="163"><label>
<input name="radiobutton" type="radio" value="r1" checked>
+<br>
<input name="radiobutton" type="radio" value="r2">
-</label>
<p>
<label>
<input name="radiobutton" type="radio" value="r3">
*</label>
</p>

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×