T ng quan v SESSION

Một phần của tài liệu giáo trình php và mysql (Trang 58 - 63)

M t cách khác qu n lý ng i s( d&ng là session. Session c hi u là kho ng th i gian ng i s( d&ng giao ti p v i 1 ng d&ng. M t session c b t u khi ng i s( d&ng truy c p vào ng d&ng l n u tiên, và k t thúc khi ng i s( d&ng thoát kh-i

ng d&ng. M!i session s có c c"p m t )nh danh (ID) khác nhau và n i dung

c l u trong th m&c thi t l p trong file php.ini (tham s session.save_path). Trong PHP, session c xem nh m t i u khi n phía server l u tr và qu n lý phiên làm vi c. làm c i u này, khi m t ng i s( d&ng truy c p vào m t website, webserver cung c"p cho ng i s( d&ng m t xâu giá tr) là SessionID g i là

xâu )nh danh- ví d& 9b02405434373d6d96c8db11ed819a60. Gía tr) xâu này m t giá

tr) ng+u nhiên và nó c g(i t i máy ng i s( d&ng thông qua cookie có tên PHPSESSID. Giá tr) này t#n t i cho n khi nào chu k* s ng c a session k t thúc ho c ng i s( d&ng di chuy n t i website khác. Chu k* s ng c a session do webserver qui )nh. Ta có th i u ch nh chu k* này khi c"u hình webserver. Bên phía server, m t t p tin có tên t ng ng PHPSESSID c ng c t o ra. Các bi n session s c l u trong m t t p tin v n b n này và % t i v) trí c qui )nh trong file php.ini % dòng session.save_path.

1- Thi t l&p 1 session trong PHP:

thi t l p 1 session ta s( d&ng cú pháp: session_start()

o n code này ph i c n'm trên các k)ch b n HTML. Ho c nh ng l nh echo, printf.

thi t l p 1 giá tr) session, ngoài vi c cho phép b t u th c thi session. Chúng ta còn ph i ng ký 1 giá tr) session. ti n cho vi c gán giá tr) cho session ó. Ta có cú pháp sau: session_register(“Name”) Ví d&: <?php Session_start(); Session_register(“username”); ?>

2- S d ng giá tr c a session:

Gi ng v i cookie. s( d&ng giá tr) c a session ta s( d&ng mã l nh sau: Cú pháp: $_SESSION[“name”]

V i Name là tên mà chúng ta s( d&ng hàm session_register(“name”) khai báo. Ví d&:

T o trang session.php v i n i dung sau: <?php

session_start();

session_register("name");

$_SESSION["name"] = "Kenny Huy"; ?>

<html> <head>

<title>Test page 1</title></head> <body>

<b><a href=session2.php>Click here</a></b> </body>

</html>

T o trang session2.php v i n i dung sau: <? session_start(); ?> <html> <head><title>Result Page</title></head> <body> <?php

echo "Ten cua ban la <b>".$_SESSION["name"]."</b>"; ?>

</body> </html>

3- H y b$ session trong PHP:

h y b- giá tr) c a session ta có nh ng cách sau: Session_destroy() // Cho phép h y b- session

Session_unset()// Cho phép h y b- session (bao g#m t"t c nh ng gì có liên quan). Chú ý: Nên c3n tr ng khi s( d&ng hàm unset.

Ví d&

<?php session_start(); session_destroy(); ?> <html> <head>

<title>Test page 1</title></head> <body>

<b><a href=session2.php>Click here</a></b> </body>

</html>

Bài t p áp d ng:

Xây d ng website s( d&ng tính n ng session th-a mãn nh ng yêu c u sau: 1- T o trang ng nh p v i username/password là : admin/vietchuyen. N u user

ng nh p thành công thì s xu"t ra dòng welcome, admin. 2- T o trang ng xu"t thoát kh-i ph n qu n tr)

III- T ng K t:

Sau bài h c này chúng ta ã n m c cách i u khi n phiên làm vi c gi a cookie và session. S( d&ng chúng trong t ng tr ng h p c& th . T ó có th áp d&ng vi t nh ng ng d&ng nh- nh ki m soát ng i ng nh p, làm gi- hàng online,…..

Bài 9: T ng Quan V MYSQL

I- Nh ng khái ni m c b n:

Mysql là h qu n tr) d li u mi n phí, c tích h p s( d&ng chung v i apache, PHP. Chính y u t phát tri n trong c ng #ng mã ngu#n m% nên mysql ã qua r"t nhi u s h! tr c a nh ng l p trình viên yêu thích mã ngu#n m%.

1- Cách kh i ng và s d ng MYSQL.

Chúng ta s( d&ng command nh sau: Mysql –hname –uuser –ppass

truy c p vào c s% d li u.

Ho c s( d&ng b appserv vào nhanh h n theo ng d+n sau: Start/ Appserv/ Mysql command Line client

Sau ó nh p password mà chúng ta ã t vào.

2- Nh ng nh ngh a c" b n: a) nh ngh a c" s d li u, b ng, c t: C s% d li u: là tên c a c s% d li u chúng ta mu n s( d&ng B ng: Là 1 b ng giá tr) n'm trong c s% d li u. C t là 1 giá tr) n'm trong b ng. Dùng l u tr các tr ng d li u. Thu c tính Ví d&: B ng user User_id 1234 First_name Nguyen

Last_name Hai Anh

Username Haianh123 Password 12345 Email test@yahoo.com Date 2007-12-12 16:25:30 Nh v y ta có th hi u nh sau: 1 c s% d li u có th bao g#m nhi u b ng. 1 b ng có th bao g#m nhi u c t

1 c t có th có ho c không có nh ng thu c tính.

b) )nh ngh a 1 s thu t ng :

NULL : Giá tr) cho phép r!ng.

AUTO_INCREMENT : Cho phép giá tr) t ng d n (t ng). UNSIGNED : Ph i là s nguyên d ng

PRIMARY KEY : Cho phép nó là khóa chính trong b ng. c)Lo i d li u trong Mysql:

, ây chúng t ch gi i thi u 1 s lo i thông d&ng: 1 s d li u khác có th tham kh o trên trang ch c a mysql.

Ki u d li u Mô T

Char )nh d ng text có chi u dài t 0->255 Varchar )nh d ng text có chi u dài t 0->255 Text )nh d ng text có chi u dài 0->65535 Longtext )nh d ng text có chi u dài 0->4294967215

INT )nh d ng s có chi u dài t 0->4294967215

Float )nh d ng s th p phân có chi u dài nh- Double )nh d ng s th p phân có chi u dài l n

Date )nh d ng th i gian theo )nh d ng: YYYY-MM-DD

DateTime )nh d ng th i gian theo )nh d ng: YYYY-MM-DD HH:MM:SS

3- Nh ng cú pháp c" b n:

Cú pháp t o 1 c s% d li u:

CREATE DATABASE tên_c _s%_d _li u Cú pháp s( d&ng c s% d li u: Use tên_database; Cú pháp thoát kh-i c s% d li u: Exit

Cú pháp t o 1 b ng trong c s% d li u:

CREATE TABLE user (<tên_c t> <mô_t >,…,<tên_c t_n>…..<mô_t _n>) Ví d&:

mysql> create table user(user_id INT(15) UNSIGNED NOT NULL AUTO_INCREMENT, user

ame VARCHAR(255) NOT NULL, password CHAR(50) NOT NULL, email VARCHAR(200) NOT N

LL, PRIMARY KEY (user_id)); Query OK, 0 rows affected (0.01 sec)

Hi n th) có bao nhi u b ng: show tables;

Hi n th) có bao nhiêu c t trong b ng: show columns from table; Thêm 1 c t vào b ng :

ALTER TABLE tên_b ng ADD <tên_c t> <thu c_tính> AFTER <tên_c t> Ví d&:

mysql> alter table user add sex varchar(200) NOT NULL after email; Query OK, 2 rows affected (0.01 sec)

Records: 2 Duplicates: 0 Warnings: 0

Một phần của tài liệu giáo trình php và mysql (Trang 58 - 63)

Tải bản đầy đủ (PDF)

(68 trang)