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