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

Phương thức post, get cookie và session trong PHP

51 781 0

Đ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

Định dạng
Số trang 51
Dung lượng 433,5 KB

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

Nội dung

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

Trang 1

PHƯƠNG THỨC POST, GET

COOKIE VÀ SESSION

TRONG PHP

Trang 2

Giới thiệu

đượ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ì?

Trang 3

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

Trang 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’’];

Trang 5

Trang nhập dữ liệu (login.php)

<form name="form1" method=" get " action="main.php">

Trang 6

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

Trang 7

Trang nhận dữ liệu (main.php)

<?php

echo "user name:".$_GET["USER"]."</br>"; echo "Pass word:".$_GET["PASS"]."</br>";

?>

Trang 8

Trang nhận dữ liệu

Trang 9

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

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:

http://www.phpvn.org/topic.php?TOPIC_ID=161

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)

Trang 10

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

biết=giá_trị bằng cách phân cách chúng

bởi dấu &:

http://www.phpvn.org/index.php?meth

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

Trang 11

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

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:

http://www.phpvn.org/post.php?metho

d=Reply&TOPIC_ID=161&FORUM_ID=20

Trang 12

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

có nội dung sau:

Trang 13

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

$_GET [“NameOfControl”]

$_REQUEST [“NameOfControl”]

Trang 17

Chạy ví dụ 2

http://localhost/welcome.php?user=hung

Kết quả?

Trang 18

Phương thức POST

form HTML có method ="POST"

$_ REQUEST [‘‘NameOfCotrol’’];

Trang 19

<input type="password" name="T2" size="20"></p>

<p>Sex: <Select name ="sex">

<option value =1>Male </option>

<option value =0>Female </option>

Trang 20

Chạy Ví dụ 1

admin password là : 12345 và chọn sex

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

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>

Trang 23

Kết quả

Trang 27

Ví dụ (tt)

<?

if(isset($_POST["radiobutton"]))

switch($_POST["radiobutton"]){

Trang 28

Kết quả Ví dụ

Trang 29

Khi nào dùng GET, POST

• Nhược điểm :

• Không thích hợp để truyền dữ liệu có tính bảo mật

• Dung lượng dữ liệu truyền đi có giới hạn (tối đa là

Trang 30

Khi nào dùng GET, POST (tt)

• Ưu điểm :

• Bảo mật hơn phương thức GET

• Không giới hạn dữ liệu truyền đi

Trang 31

Php và html

<?

function test() {

echo "test";

} echo "<form name=form1 method=post>";

echo "<input type=submit name=Submit value=OK>";

echo "<input type=submit name=reset value=Cancel>";

echo "</form>";

if(isset($HTTP_POST_VARS["Submit"])&&($HTTP_POST_VARS["Submi t"]=="OK"))

echo "Ban nhan OK";

if(isset($HTTP_POST_VARS["reset"])&&($HTTP_POST_VARS["reset"]=

="Cancel"))

echo "ban nhan can cel";

Trang 32

Kết quả

Trang 33

</FORM>

Trang 34

<OPTION SELECTED value="http://www.java2s.com">java2s.com

Trang 35

Kết quả

Trang 36

Ví dụ _ thêm mục chọn vào combo

Trang 37

Ví dụ (tt)

</head>

<body>

<FORM name="form1" method="POST">

<select id="mySel" name="1" size="1">

Trang 38

Kết quả

Trang 39

browser từ server, đoạn dữ liệu này sẽ

được browser lưu trữ (trong memory hoặc trên đĩa) và sẽ gởi ngược lên lại server

mỗi khi browser tải 1 trang web từ server

cookie phụ thuộc vào website trên server

Trang 40

browser, do vậy 2 website khác nhau (cho

dù cùng host trên 1 server) sẽ có 2 cookie khác nhau gởi tới browser

theo cách riêng của mình, cho nên 2

browser cùng truy cập vào 1 website sẽ nhận được 2 cookie khác nhau.

Trang 41

Session

browser có yêu cầu lấy dữ liệu từ session thì server cung cấp.

đầu và kết thúc.

Trang 42

So sách giữa cookie và session

lưu giữ data để truyền từ 1 trang web sang 1 trang web khác (trên cùng website)

Cookie và Session có phần khác nhau.

browser quản lý và browser sẽ tự động truyền cookie ngược lên server mỗi khi truy cập vào 1 trang web trên server.

quản lý

để lấy dữ liệu khi cần

Trang 43

Sử dụng Cookie hay Session?

 Sử dụng Session hoặc Cookie là tuỳ vào

lựa chọn của Lập trình viên, tuy nhiên

Session thường được ưa chuộng hơn

Cookie vì một số lý do sau:

• Trong một số trường hợp Cookie không

sử dụng được Có thể browser đã được thiết lập để không chấp nhận cookie, lúc

đó session vẫn sử dụng được bằng cách truyền session ID giữa các trang web qua URL, ví dụ: script.php?session=abc123

Trang 44

• Lượng data truyền tải giữa browser và server: chỉ mỗi session ID được truyền giữa browser và server, data thực sự được website lưu trữ trên server

tải qua lại giữa browser và client càng tốt, và càng ít thông tin được lưu trữ tại client càng tốt

Sử dụng Cookie hay Session?

Trang 46

Ví dụ: tạo trang “a.php”

Trang 47

echo "gia tri lay duoc ".$_COOKIE['a'];

} else

echo "khong lay duoc";

?>

Trang 48

$_ SESSION [tên_session] = giá_trị;

$_ SESSION [tên_session]

Trang 49

• Hủy tất cả các dữ liệu trong session

session_destroy ();

session_unset ();

session_unregister (tên biến)

SỬ DỤNG SESSION TRONG PHP

Trang 50

Ví dụ tạo trang s_a.php

Trang 51

Giá trị session lấy được <a href="a.php">file a.php</a>:<br>

username = <?php echo $_SESSION['username']; ?><br>

time = <?php echo $_SESSION['password']; ?>

</body>

</html>

Ngày đăng: 19/10/2014, 01:25

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w