Get Post Cookie Session

Embed Size (px)

Citation preview

  • CHNG 5PHNG THC POST, GETCOOKIE V SESSION TRONG PHP

  • Gii thiuD liu ca ngi dng t trnh duyt s c gi ln my ch di dng tng cp bin=gi_tr v c th i theo 4 ng khc nhau. Tu theo tng con ng c th, trn my ch ta cng c cc cch khc nhau ly d liu c gi ln.. 4 con ng l: GET, POST v COOKIES, Session. Vy GET, POST v COKIES, Session l g?

  • C ch truyn nhn d liu Trang web nhp d liu:S dng i tng Nhp d liu thng qua cc Thc hin vic truyn d liu thng qua Push button Submit

  • C ch truyn nhn d liu (tt)Trang nhn d liu (URL) s dng cc bin ton cc ca PHP$_POST[NameOfControl]$_GET[NameOfControl]$_REQUEST[NameOfCotrol];

  • Trang nhp d liu (login.php)

    User name

    Pass word

  • Giao din trang nhp d liu

  • Trang nhn d liu (main.php)

  • Trang nhn d liu

  • Truyn d liu bng phng thc GetD liu gi t trnh duyt ln qua phng thc GET l phn d liu c nhp trc tip theo sau a ch URL do trnh duyt gi ln, c phn bit vi tn file script bng du hi chm (?) V d: khi ta g vo trnh duyt a ch URL sau:http://www.phpvn.org/topic.php?TOPIC_ID=161Khi , trnh duyt s gi theo a ch trn mt cp bin = gi tr, trong bin c tn l TOPIC_ID v gi tr l 161 (TOPIC_ID=161).

  • Truyn d liu bng phng thc GetChng ta cng c th a ln nhiu cp bit=gi_tr bng cch phn cch chng bi du &: http://www.phpvn.org/index.php?method=Reply&TOPIC_ID=161&FORUM_ID=20 Vi a ch URL trn, chng ta s gi ln 3 cp bin=gi_tr theo phng thc GET, l: method=Reply, TOPIC_ID=161 v FORUM_ID=20.

  • Truyn d liu bng phng thc GetKhi trnh duyt gi cc thng tin ny ln my ch, PHP s t ng sinh ra mt mng c tn l $_GET[] nm gi tt c cc cp bin v gi tr , trong , ch s ca mng chnh l mt chui mang tn ca tn bin v gi tr ca ch s chnh l gi tr ca bin do trnh duyt gi ln. V d, vi a ch URL sau: http://www.phpvn.org/post.php?method=Reply&TOPIC_ID=161&FORUM_ID=20

  • Truyn d liu bng phng thc GetPHP s t ng sinh ra mt mng $_GET c ni dung sau:$_GET["method"] = "Reply" // tng ng vi cp method=Reply$_GET["TOPIC_ID"] = 161 // tng ng vi cp TOPIC_ID=161$_GET["FORUM_ID"] = 20 // tng ng vi cp FORUM_ID=20

  • Nhn d liu bng phng thc GETNhn d liu thng qua bin ton cc ca php$_GET[NameOfControl]$_REQUEST[NameOfControl]

  • V d 1

    Untitled Document

    Chi tit

    Trang get.php

  • V d 1(tt)

    Untitled Document

    Trang ly d liu (chitietsach.php)

  • V d 2
  • Chy v d 2Ta lu v d trn vi tn file vd1.phpSau ta bt trnh duyt v g vo a chhttp://localhost/welcome.php?user=hung

    Kt qu?

  • Phng thc POST Post l phn d liu c gi qua cc form HTML c method ="POST" Ly d liu:$_POST[NameOfControl] ;$_REQUEST[NameOfCotrol];

  • V d 1

  • Chy V d 1Khi ngi dng nhp user name l: admin. password l: 12345 v chn sex l Male, khi , mng $_POST s c cc phn t sau:$_POST["T1"] = admin$_POST["T2"] = 12345 $_POST["sex"] = 1

  • V d 2 _ Gii phng trnh bc 1 Nhp a: Nhp b:
  • V d 2 _ Gii phng trnh bc 1 if ($a0) { echo "Nghiem la: " . -$b/$a;//Ch ny l -$b/$a } else { if ($b==0) { echo "Vo so nghiem"; } else { echo "Vo nghiem"; } } ?>

  • Kt qu

  • V d

  • V d (tt) + - *

  • V d (tt)

    \

  • V d (tt)
  • Kt qu V d

  • Khi no dng GET, POSTPhng thc GET:Nhc im:Khng thch hp truyn d liu c tnh bo mtDung lng d liu truyn i c gii hn (ti a l 100 k t)URL submit c lu li trn Serveru im:C th gi lp phng thc GET truyn d liu m khng cn dng FORM

  • Khi no dng GET, POST (tt)Phng thc POST:u im:Bo mt hn phng thc GETKhng gii hn d liu truyn iNhc im:C th gy ra li nu ngi dng mun quay li trang kt qu (khi nhn nt back, hoc refresh) do b expriredD liu c th khng th truyn i do vn Security

  • Php v html

  • Kt qu

  • V d

    java2s.comPerl.comHomepage Tools

  • V d

    java2s.comPerl.comjava2s.com

  • Kt qu

  • V d _ thm mc chn vo combo

    New Page 1

  • V d (tt)

    item 1Item 2

  • Kt qu

  • CookieL 1 on d liu c truyn n browser t server, on d liu ny s c browser lu tr (trong memory hoc trn a) v s gi ngc ln li server mi khi browser ti 1 trang web t serverNhng thng tin c lu tr trong cookie ph thuc vo website trn server

  • CookieCookie c to ra bi website v gi ti browser, do vy 2 website khc nhau (cho d cng host trn 1 server) s c 2 cookie khc nhau gi ti browser. Mi browser qun l v lu tr cookie theo cch ring ca mnh, cho nn 2 browser cng truy cp vo 1 website s nhn c 2 cookie khc nhau.

  • Session L on d liu c lu trn server, khi browser c yu cu ly d liu t session th server cung cp.website s quyt nh khi no session bt u v kt thc.Mi session s c mt nh danh (ID)

  • So sch gia cookie v sessionCookie v Session u c chung mc ch l lu gi data truyn t 1 trang web sang 1 trang web khc (trn cng website). Phng thc lu tr v qun l data ca Cookie v Session c phn khc nhau.Cookie s c lu tr ti browser, do browser qun l v browser s t ng truyn cookie ngc ln server mi khi truy cp vo 1 trang web trn server.D liu lu tr trong Session c webserver qun lBrowser ch truyn ID ca session ln server ly d liu khi cn

  • S dng Cookie hay Session? S dng Session hoc Cookie l tu vo la chn ca Lp trnh vin, tuy nhin Session thng c a chung hn Cookie v mt s l do sau:Trong mt s trng hp Cookie khng s dng c. C th browser c thit lp khng chp nhn cookie, lc session vn s dng c bng cch truyn session ID gia cc trang web qua URL, v d: script.php?session=abc123.

  • S dng Cookie hay Session? Lng data truyn ti gia browser v server: ch mi session ID c truyn gia browser v server, data thc s c website lu tr trn server.

    Bo mt: cng t thng tin c truyn ti qua li gia browser v client cng tt, v cng t thng tin c lu tr ti client cng tt.

  • S DNG COOKIE TRONG PHP S dng Cookie trong PHP: t (set) cookie:$_COOKIE[tn_cookie] = gi_tr;.

    V c (get) li gi tr ca cookie:$_COOKIE[tn_cookie].

  • V d: to trang a.php

    Trang a

    gia tri gi ln cookies:

    qua trang b

  • To trang b.php

    Trang b

    qua trang a

  • S DNG SESSION TRONG PHPu tin, khi to Session bng cch gi hm: session_start()ng k bin sessionSession_register(tn bin)t gi tr cho session: $_SESSION[tn_session] = gi_tr;c gi tr t session: $_SESSION[tn_session]

  • S DNG SESSION TRONG PHPHy tt c cc d liu trong sessionsession_destroy();Hy tt cc bin trong sessionsession_unset();Hy 1 bin trong sessionsession_unregister(tn bin)

  • V d to trang s_a.php

    a.php

    Gia tri cua session da duoc gan:username = guesttime = Click vo day de kiem tra.

  • To trang s_b.php

    Untitled Document

    Gi tr session ly c file a.php:username = time =