Hướng dẫn dùng tg opening trong PHP

1 C t b t u và k t thúc s có cú pháp : Ví d&: A B C D 1 2 3 4 Nh b ng % trên ta s xây d ng nh sau : + G#m 1 b ng. + G#m 2 dòng + G#m 4 c t trên 1 dòng V y ta có cú pháp t o b ng c b n nh sau :

Successfully reported this slideshow.

Your SlideShare is downloading. ×

Hướng dẫn dùng tg opening trong PHP

Giáo Trình PHP & MySql căn bản

Hướng dẫn dùng tg opening trong PHP

Giáo Trình PHP & MySql căn bản

More Related Content

  1. 1. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 1/68 www.qhonline.info Trung Tâm ào T o Công Ngh M ng Vi t Chuyên Tài Li u L u Hành N i B www.qhonline.info GIÁO TRÌNH PHP & MYSQL Biên So n: GV. Bùi Qu c Huy
  2. 2. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 2/68 www.qhonline.info L i Nói u Quy n giáo trình này c t ng h p t nh ng tài li u và kinh nghi m th c ti n qua nhi u n m gi ng d y c a gi ng viên, và c so n th o cho phù h p v i n i dung môn h c. Khác v i giáo trình mang tính th ng m i, các t ng , cách di n gi i mang xu th thu t ng , giáo trình c xây d ng trên hình th c d c, d hi u và g n g i v i th c t , tuy nhiên i u ó không có ngh a h c viên có th ch tham kh o giáo trình mà không i h c. N u các b n mu n hi u c n k ki n th c và ý ngh a c a giáo trình, b n nên tham gia các khóa h c PHP y t i trung tâm ào t o m ng Vi t Chuyên. M c dù ã ki m tra xác th c, c ng nh tính úng n c a giáo trình, nh ng khi biên soan ch c ch n s có ít nhi u l!i liên quan n t ng , cú pháp. R"t mong nh n c nhi u s óng góp c a các b n. M i ý ki n óng góp c a các b n vui lòng truy c p vào website: www.qhonline.info (là website cá nhân c a tác gi ). Ho c www.ddcntt.vn (là website c a trung tâm). Gi ng viên Bùi Qu c Huy TP.H# Chí Minh. Ngày 15 Tháng 06 N m 2006
  3. 3. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 3/68 www.qhonline.info Ph n A: C B n V HTML & Javascript I – Các Th HTML c b n 1- C u trúc chu n: Tiêu Website N i dung website c vi t t i ây + M t c"u trúc HTML luôn bao g#m th$ óng và th$ m%. Ví d& : Ł th$ M% Ł Th$ óng - c phân bi t b'ng d"u / ngay tr c th$ + Các th$ HTML hoàn toàn có th vi t hoa ho c th ng. Tuy nhiên nên theo 1 quy t c chung (vi t hoa thì vi t hoa h t, ng c l i). + M t website càng ít th$ thì s càng ch y nhanh h n. 2- Các th c b n : Tiêu : N i Dung (ví d&:

    Welcome, admin

    ). Th$ H bao g#m các thu c tính t (H1 H6). Nh ng ch S( d&ng t H1 H3. In m: N i Dung (ví d&: Welcome, admin) In Nghiêng: N i Dung (ví d&: welcome, Admin) G ch D i : N i Dung (Ví d&: welcome, Admin) Xu ng 1 Dòng :
    - Th$ này không có th$ óng. Xu ng 2 Dòng :

    - Có ho c không th$ óng c ng c. )nh D ng Ch B'ng Th$ + Kích th c ch : N i Dung Ví d&: Hello, How Are You ? + Ki u Ch : N i Dung Ví d&: Hello, How Are You ? + Màu Ch : N i Dung

  4. 4. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 4/68 www.qhonline.info Ví d&: Hello, How Are You ? T o Liên K t : N i Dung Ví D&: Hello, Huy + M% 1 c(a s m i v i liên k t: TARGET=_BLANK Ví d&: Hello, Huy + M% liên k t ó ngay trên trang hi n th): TARGET=_SEFT Ví d&: Hello, Huy )nh d ng thu c tính : ALIGN=LEFT, RIGHT, CENTER, JUSTIFY + S( d&ng k t h p v i th$

    Ví d&:

    N i dung V n b n s % gi a + S( d&ng k t h p v i các th$ khác nh ,

    ,
    ,…. Chèn hình nh vào website: + cú pháp chính xu"t ra hình nh. + cú pháp c s( d&ng khi hình nh i kèm v i liên k t. Ví d& : T câu l nh trên s cho ra hình def.gif. Tuy nhiên bao b c hình nh ó s có 1 ng vi n. Ví d&: T câu l nh trên s cho ra hình def.gif. Nh ng không có vi n xung quanh + Hspace : kho ng cách t l ph i c a hình n l trái v n b n + Vspace: kho ng cách t TOP c a hình n BOTTOM c a v n b n + Align : )nh d ng trái, ph i, gi a c a hình (canh l ). + Width : Chi u r ng c a t"m hình. + Height : Chi u cao c a t"m hình. II– T o b ng trong HTML : t o 1 b ng chúng ta nên hình dung c dòng và c t. Và áp t 1 s quy lu t, vi c th c thi d h n so v i yêu c u t ra.
  5. 5. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 5/68 www.qhonline.info M t b ng bao g#m 2 thu c tính là dòng và c t. V y ta có quy t c có 1 b ng d li u. Ta i t b ng tr c, sau ó k$ dòng và chia c t trên dòng ó…Làm tu n t cho n h t yêu c u vi c t o b ng. 1 B ng b t u và k t thúc s có cú pháp :
  6. 1 Dòng b t u và k t thúc s có cú pháp :
A B C D
1 2 3 4
Các thu c tính trên B ng (Table). o Width : Chi u r ng c a b ng.
  • 6. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 6/68 www.qhonline.info o Height: Chiêu cao c a b ng. o Align : Các thu c tính trái, ph i, gi a theo chi u ngang c a b ng o Valign : Các thu c tính trên, d i, gi a theo chi u d c c a b ng. o Background : Màu n n c a b ng b'ng 1 hình nh. (ch có tác d&ng trên c t và b ng). o Bgcolor : Màu n n b ng b'ng nh ng màu theo thông s (ch có tác d&ng trên c t và b ng). Ví d&: white, blue, green, red,…… o Cellpadding : Kho ng cách t chân ch n c nh d i. o Cellspacing : Kho ng cách c a các c nh. o Rowspan : G p theo dòng Ví d& : o Colspan : G p theo c t Ví d&: * Các thu c tính c a table phía trên u có th áp d&ng i v i c t (td). Nh ng không th áp d&ng i v i dòng. Bài T p Áp D ng: Thi t k 1 b ng b'ng HTML nh hình bên d i : Th 2 Th 3 Th 4 Th 5 Th 6 Th 7 Toán A1 Anh V n PHP&MYSQLKinh t Chính Tr) Phòng 301 ASP.NET CCNA V t Lý A1 Yêu c u : 1 – Vi t trên HTML, không dùng b"t k* tool h! tr nào. 2 – Th i gian trong 15 phút
  • 7. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 7/68 www.qhonline.info III– T o Form nh p li u trong HTML : Form nh p li u c dùng l"y d li u t phía ng i truy c p, khách hàng,….Thông qua h th ng website. Cú pháp c b n c a Form c ng có th$ b t u và k t thúc : Cú pháp chính :
    N i dung c a form
    + Method : Là ph ng th c truy n nh n d li u. G#m 2 ph ng th c là POST và GET. + Action : Là ng d+n n liên k t x( lý form. + Name : là tên c a Form ó. C c"u c a Form bao g#m nh ng thu c tính sau : 1- D ng Text : (Nh nh p h tên, )a ch , s i n Tho i,….) Cú pháp : + Type : Thu c tính có hai lo i là Text (khi ng i nh p s th"y c n i dung ang nh p và Password (ng i nh p s không th"y c n i dung ang nh p) + Name : tên c a h p nh p li u (ví d&: name, address, phone,…..) + Size : Chi u dài c a h p nh p li u. + Value: Giá tr) mu n hi n th) (th ng v i h p nh p li u thì ít s( d&ng). 2- D ng V n b n – Textarea : (nh nh p thông tin cá nhân, ghi chú,…..) Cú pháp : + Có th$ b t u và k t thúc. + Name: Tên c a h p nh p li u. + Cols : c xem là chi u r ng c a h p nh p li u + rows: c xem là chi u cao c a h p nh p li u 3- D ng L a Ch n : (nh ch n l a gi i tính nam ho c n ) Cú pháp : + Type : Radio là )nh d ng dành cho s l a ch n + Value : Giá tr) mà chúng ta mu n truy n khi user l a ch n
  • 8. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 8/68 www.qhonline.info + Name : Tên c a )nh d ng l a ch n + Thu c tính “checked”. N u add vào s m c )nh ch n l a Ví d&: Male Female T ví d& trên ta th"y n u trong 1 form ch n l a gi i tính. Thì thu c tính “name” ph i gi ng nhau. , ây. Thu c tính male c l a ch n m c )nh. 4- D ng Thanh cu n : (nh ch n qu c t)ch Vi t Nam,….) Cú pháp: + Size : là kích th c c a h p tho i mà b n mu n. Th ng là 1. + Name : là tên c a thanh cu n "y. + Option: là nh ng thu c tính b n mu n ch n + Thu c tính “selected” N u thêm vào s m c )nh ch n l a. + Giá tr) : là thông t b n mu n truy n vào khi chúng ta ch n l a. Ví d&: , ví d& này chúng ta th"y. Vi t Nam là qu c gia c l a ch n. 5- D ng Ch n Nhi u : (nh b ng ánh d"u s% thích: music, sport, game,…..) Cú Pháp: + Type= Checkbox là )nh d ng c a h p tho i + Tên : là tên c a m&c ch n l a + Giá tr): Là thông s c n truy n vào. 6- D ng Nút Nh n : (nh ch"p nh n ho c làm l i,…..) Cú pháp :
  • 9. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 9/68 www.qhonline.info Type có hai lo i chính là : submit bà reset + Submit cho phép g%i d li u lên trình duy t x( lý. + Reset : xóa toàn b d li u t các form trên. Giá tr): là tên hi n th) trên nút Tên : là tên c a nút nh"n. Bài t p Áp D ng : Vi t l nh hi n th) 1 form nh bên d i :
  • 10. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 10/68 www.qhonline.info IV- Các th nâng cao: 1- T o ch ch y : Cú pháp c b n : N i Dung Mô t : V n b n n'm gi a hai th$ này s di chuy n tu* theo các giá tr) thu c tính c thi t l p. M t s thu c tính c a Marquee là: Direction: Có giá tr) b'ng Left ho c Right là h ng chuy n ng c a v n b n. ScrollDelay: Giá tr) nguyên d ng này là s mili giây v n b n ng ng tr c khi chuy n ng ti p. Giá tr) càng nh-, chuy n ng càng nhanh. Behavior: Lo i chuy n ng c a text. Scroll, Slide, Alternate Align With text: o n v n b n c canh ch nh trong vùng di n tích c a marquee. Có 3 giá tr): Top, Middle, Bottom. Loop: Giá tr) nguyên thi t l p s chu k* chuy n ng c a o n v n b n. Ví d& : Chào m ng b n ã n website c a chúng tôi 2 – S d ng Frame: B'ng cách dùng frame (khung), ta có th ng t trang web thành các vùng riêng bi t (c(a s ) và th hi n các t p tin HTML khác nhau trong m!i vùng. V i cách này, m!i vùng có th chuy n sang trang web khác trong khi các vùng khác v+n không thay i. Cú pháp c b n : SRC : URL c a trang mu n hi n th). Name : Tên c a frame Frameborder : ng vi n c a frame (th ng là 0 ho c 1) Height : chi u cao c a frame Width : Chi u r ng c a frame. Scrolling : Hi n th) thanh tr t (có 3 thu c tính là “No”, “Yes”, “Auto”). Allowtransparency: Cho phép background c a frame trong su t.
  • 11. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 11/68 www.qhonline.info Ví d& : 3- T o danh sách: HTML có m t t p các th$ cho phép t o ra các danh sách d ng phân c"p. Có hai d ng danh sách: không có th t và có th t . Các danh sách không có th t là danh sách d ng nút, trong khi ó danh sách có th t th ng là danh sách có ánh s . Ta c ng có th k t h p hai lo i này t o ra danh sách ph c t p h n. a) Danh sách có th t : Các m&c c a m t danh sách có th t c hi n th) v i các con s thay vì các nút. S( d&ng th$
      (Order List) thi t l p m t danh sách có th t , nh c th hi n trong o n mã sau. Hình nh th hi n cách mà trình duy t hi n th) o n mã này. Cú Pháp :
      Ví d& :
      1. This is the first level-1 item in the list.
      2. This is the second level-1 item in the list.
        1. This is the first level-2 item in the list.
        2. And this is the second level-2 item in the list.
      3. This is the third level-1 item in the list.
      b) Danh sách không có th t : Cú pháp :
      Ví d& :
        This is the first level header.
      • This is the first level-1 item in the list.
      • This is the second level-1 item in the list.
        • This is the first level-2 item in the list.
        • And this is the second level-2 item in the list.
      • This is the third level-1 item in the list.
    1. 12. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 12/68 www.qhonline.info 4- S d ng th
      : DIV c xem nh là các th$ ch a (th$ mang). Chúng r"t h u d&ng trong vi c phân chia các kh i v n b n v i ph n xung quanh nó mà không làm nh h %ng n )nh d ng c a riêng nó. Các th$ này th ng c dùng v i các )nh d ng style sheet CSS và ang c a chu ng trong thi t k layout c a nh ng trang web ph c t p. Ví d& : Here is
      some text
      in a DIV. V- CASCADING STYLE SHEET (CSS) )nh ngh a v b ng ki u x p ch#ng (css) s( d&ng tách bi t format trang và n i dung c a trang web. V i CSS, ta có th bi n i m i th t kích c., ki u, màu s c c a v n b n cho n kho ng cách gi a các ch cái và các dòng, ng biên và ph n m xung quanh ph n t(, v) trí chính xác c a i t ng trên trang. 1- nh ngh a tr c ti p : B ng ki u toàn c&c (ho c b ng ki u c nhúng vào) c kèm theo nh là m t ph n c a h# s HTML. Lo i b ng ki u này xác )nh biên gi i c a nó b'ng th$ m% , nó th ng c t trong ph n head c a trang HTML. Ví d&:
      This text is in a DIV.

      This text is in an H1.

      This text is in an H2.

    2. 13. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 13/68 www.qhonline.info Hi n Th) : Mô t thu c tính : Color: màu ch Font-size : Kích th c c a ch Font-style : )nh d ng ch (italic : Nghiêng, blod: in m, underline: g ch d i). Font-family: Ki u ch Background-color : màu n n Text –decoration: )nh d ng link. + None : không )nh d ng gì c + Underline: g ch d i liên k t. + Overline: g ch trên liên k t 2- nh ngh a gián ti p: Kh n ng )nh d ng c c p trong nh ng ph n tr c không ch d ng l i % m c c a m t trang web n mà còn có th ki m soát ki u trên nhi u trang web hay có th trên toàn b website b'ng cách s( d&ng b ng ki u liên k t. M t b ng ki u liên k t (hay b ng ki u bên ngoài) ch n gi n là m t t p tin v n b n, bao g#m nh ng )nh ngh a ki u. T p tin này c l u v i ph n m% r ng là CSS. T p này (n'm ngoài t p tin HTML) có th c tham chi u ho c liên k t b%i v n b n HTML b'ng cách s( d&ng th$ c a trang HTML. Ví d&: u tiên, s( d&ng notepad so n th o t p tin có n i dung nh sau: H1 {font-size: 16pt; font-weight: bold; color:red} H2 {font-style: italic; font-size:24pt ; color:green} DIV {font-weight: bold; font-style: italic}
    3. 14. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 14/68 www.qhonline.info L u t p tin v i tên b"t k* có ph n m% r ng là CSS (ví d&: style.css). C ng c n chú ý r'ng, b ng ki u liên k t này không kèm theo các thành ph n (t c trong file CSS không có các th$ này). Bây gi t p tin t o m t file HTML ch a m t liên k t n b ng ki u bên ngoài ã )nh ngh a. Ví d&:
      This text is in a DIV.

      This text is in an H1.

      This text is in an H2.

      This is modified H2 text.

      Trong ví d& này t p tin s( d&ng th$ trong ph n u c a h# s HTML. Th$ này ch a thu c tính HREF xác )nh v) trí c a t p tin ích. Thu c tính REL s )nh rõ r'ng liên k t này là m t tham chi u n m t b ng ki u và thu c tính TYPE )nh rõ lo i b ng ki u. Th i i m hi n t i thì text/css là lo i b ng ki u c h! tr ph bi n và duy nh"t. B ng ki u liên k t có nh h %ng t i h# s HTML gi ng nh b ng ki u toàn c&c (b ng ki u nhúng). M i ph n t( trong h# s HTML mà th$ c a chúng c )nh ngh a trong t p tin style.css s c th hi n b'ng cách s( d&ng ki u ã c xác )nh. Vì không n'm trong b"t k* t p tin HTML c bi t nào, nên b ng ki u liên k t ngoài có th c liên k t v i s l ng h# s không gi i h n. Ví d&, t p tin có th t o b ng ki u cho toàn b Website và liên k t t ng trang v i b ng ki u ó. Kh n ng này r"t h u ích khi t p tin mu n duy trì cách th hi n, c ng nh cách c m nh n nh"t quán trên toàn b website. Nó c ng r"t ti n l i khi mu n thay i cách th hi n t ng th c a Website. 3- nh Ngh a Trên 1 L p:
    4. 15. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 15/68 www.qhonline.info Là m t bi n )nh ngh a format c a các thu c tính trong các th$ nh ng m i th$ u có th dùng c. Cú pháp : .tênl p {các thu c tính}. Ví d&:

      The small class on an H2 element.

      The large class on a DIV element.

      The small class on a P element.

      The large class on a B element.
    5. 16. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 16/68 www.qhonline.info Ph n B: PHP & MYSQL Bài 1: T ng Quan V PHP I - Gi i thi u v PHP. PHP (Hypertext Preprocessor) là ngôn ng script trên server c thi t k d dàng xây d ng các trang Web ng. Mã PHP có th th c thi trên Webserver t o ra mã HTML và xu"t ra trình duy t web theo yêu c u c a ng i s( d&ng. Ngôn ng PHP ra i n m 1994 Rasmus Lerdorf sau ó c phát tri n b%i nhi u ng i tr i qua nhi u phiên b n. Phiên b n hi n t i là PHP 5 ã c công b 7/2004. Có nhi u lý do khi n cho vi c s( d&ng ngôn ng này chi m u th xin nêu ra ây m t s lý do c b n : - Mã ngu#n m% (open source code) - Mi n phí, download d dàng t Internet. - Ngôn ng r"t d h c, d vi t. - Mã ngu#n không ph i s(a l i nhi u khi vi t ch y cho các h i u hành t Windows, Linux, Unix - R"t n gi n trong vi c k t n i v i nhi u ngu#n DBMS, ví d& nh : MySQL, Microsoft SQL Server 2000, Oracle, PostgreSQL, Adabas, dBase, Empress, FilePro, Informix, InterBase, mSQL, Solid, Sybase, Velocis và nhi u h th ng CSDL thu c H i u Hành Unix (Unix dbm) cùng b"t c DBMS nào có s h tr c ch ODBC (Open Database Connectivity) ví d& nh DB2 c a IBM. S v l p trình server side c a PHP.
    6. 17. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 17/68 www.qhonline.info • 1: Trình duy t g(i yêu c u t i trang PHP. • 2: Web server g(i các yêu c u ó t i trình thông d)ch PHP. • 3-4: Trình thông d)ch PHP th c thi các an mã PHP. Quá trình này có th liên quan n nhi u tài nguyên nh filesystem, database... • 5: K t qu c a quá trình thông d)ch là các mã HTML c tr v cho Server.. • 6: Server g(i mã k t qu HTML v l i trình duy t. II- Ki n Th c C b n 1- Cú pháp chính : PHP c ng có th$ b t u và k t thúc gi ng v i ngôn ng HTML. Ch khác, i v i PHP chúng ta có nhi u cách th hi n. Cách 1 : Cú pháp chính: Cách 2: Cú pháp ng n g n Cách 3: Cú pháp gi ng v i ASP. <% Mã l nh PHP %> M c dù có 3 cách th hi n. Nh ng i v i 1 l p trình viên có kinh nghi m thì vi c s( d&ng cách 1 v+n là l a chon t i u. Trong PHP k t thúc 1 dòng l nh chúng ta s( d&ng d"u “;” chú thích 1 o n d li u nào ó trong PHP ta s( d&ng d"u “//” cho t ng dòng. Ho c dùng c p th$ “/*……..*/” cho t ng c&m mã l nh. Ví d&: 2- Xu t d li u ra trình duyêt xu"t d li u ra trình duy t chúng ta có nh ng dòng cú pháp sau : + Echo “Thông tin”;
    7. 18. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 18/68 www.qhonline.info + Printf “Thông tin”; Thông tin bao g#m : bi n, chu!i, ho c l nh HTML …. Ví d& : Who Are You ?”; ?> N u gi a hai chu!i mu n liên k t v i nhau ta s( d&ng d"u “.” Ví d& : 3- Khái ni m bi n, h ng, chu i và các ki u d li u. a) Bi n trong PHP. Bi n c xem là vùng nh d li u t m th i. Và giá tr) có th thay i c. Bi n c b t u b'ng ký hi u “$”. Và theo sau chúng là 1 t , 1 c&m t nh ng ph i vi t li n ho c có g ch d i. 1 bi n c xem là h p l khi nó th-a các y u t : + Tên c a bi n ph i b t u b'ng d"u g ch d i và theo sau là các ký t , s hay d"u g ch d i. + Tên c a bi n không c phép trùng v i các t khóa c a PHP. Trong PHP s( d&ng 1 bi n chúng ta th ng ph i khai báo tr c, tuy nhiên i v i các l p trình viên khi s( d&ng h th ng x( lý cùng m t lúc các công vi c, ngh a là v a khái báo v a gán d li u cho bi n. B n thân bi n c ng có th gãn cho các ki u d li u khác. Và tùy theo ý )nh c a ng i l p trình mong mu n trên chúng. M t s ví d& v bi n : $a= 100 // bi n a % ây có giá tr) là 100. $a= “PHP is easy” // Bi n a % ây có giá tr) “PHP Is easy”. Biena=123 //Có l!i vì b t u 1 bi n ph i có d"u “$” $123a=”PHP” //Có l!i vì ph n tên b t u c a bi n là d ng s .
    8. 19. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 19/68 www.qhonline.info b) Khái ni m v h ng trong PHP. N u bi n là cái có th thay i c thì ng c l i h'ng là cái chúng ta không th thay i c. H'ng trong PHP c )nh ngh a b%i hàm define theo cú pháp: define (string tên_h'ng, giá_tr)_h'ng ). C ng gi ng v i bi n h'ng c xem là h p l thì chúng ph i áp ng 1 s y u t : + H'ng không có d"u “$” % tr c tên. + H'ng có th truy c p b"t c v) trí nào trong mã l nh + H'ng ch c phép gán giá tr) duy nh"t 1 l n. + H'ng th ng vi t b'ng ch in phân bi t v i bi n Ví d& : define (“C”, “COMPANY”); define (“YELLOW”, “#ffff00”); c) Khái ni m v chu i: Chu!i là m t nhóm các k/ t , s , kho ng tr ng, d"u ng t c t trong các d"u nháy. Ví d&: ‘Huy’ “welcome to VietNam” t o 1 bi n chu!i, chúng ta ph i gán giá tr) chu!i cho 1 bi n h p l . Ví d&: $fisrt_name= “Nguyen”; $last_name= ‘Van A’; liên k t 1 chu!i và 1 bi n chúng ta th ng s( d&ng d"u “.” Ví d&: welcome to”.$test.”
      ”; ?> d) Ki u d li u trong PHP Các ki u d li u khác nhau chi m các l ng b nh khác nhau và có th c x( lý theo cách khác nhau khi chúng c theo tác trong 1 script.
    9. 20. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 20/68 www.qhonline.info Trong PHP chúng ta có 6 ki u d li u chính nh sau : Ki u D Li u Ví d Mô T Integer 10 M t s nguyên Double 5.208 Ki u s th c String “How are you ?” M t t p h p các ký t Boolean True or False Giá tr) true ho c false Object H ng i t ng trong PHP Array M ng trong PHP, ch a các ph n t(. Chúng ta có th s( d&ng hàm d ng s0n gettype() c a PHP4 ki m tra ki u c a b"t k* bi n. Ví d&: ”; Echo gettype($a); //String ?> III- T ng K t: Sau bài này các b n ã có nh ng khái ni m u tiên v PHP, các cú pháp, các ki u d li u, và cách làm vi c v i môi tr ng PHP nh th nào. , bài sau, chúng ta s ti p t&c ti p c n v i các thu t toán và cú pháp PHP m t cách rõ ràng và quen thu c trong các ngôn ng l p trình.
    10. 21. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 21/68 www.qhonline.info Bài 2 : Toán T( Và Bi u Th c I – Toán t c b n. 1- Toán t gán: Chúng ta ã t ng ti p xúc v i toán t( này b%i vi c kh%i t o 1 bi n. Nó g#m ký t n =. Toán t( gán l"y giá tr) c a toán h ng bên ph i gán nó vào toán h ng bên trái. Ví d&: $name = “Johny Nguyen”; 2- Toán t s h c: Ta có b ng các phép toán s h c nh sau: Toán T Lý gi i Ví d K t qu + C ng hai s h ng 10+8 18 - Tr hai s h ng 10-8 2 * Nhân hai s h ng 10*8 80 / Chia hai s h ng 10/3 3.33333333 % Tr v s d 10%3 1 3- Toán t so sánh: Ta có các phép so sánh c b n nh sau: Phép Toán Tên Gi i Thích Ví D = = B'ng Hai s h ng b'ng nhau $a= =5 != Không b'ng Hai s h ng không b'ng nhau $a != 5 = = = #ng nh"t Hai s b'ng nhau và cùng ki u $a = = = 5 > L n h n V trái l n h n v ph i $a > 5 >= L n h n ho c b'ng V trái l n h n ho c b'ng v ph i $a >= 5 < Nh- h n V trái nh- h n v ph i $a < 5 <= Nh% h n ho c b'ng V trái nh- h n ho c b'ng v ph i $a <= 5 4- Toán t logic Toán t( logic là các t h p các giá tr) boolean. Ví d&: toán t( or tr% v true n u toán t( trái ho c toán t( ph i là true. True || false true.
    11. 22. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 22/68 www.qhonline.info Ta có b ng các toán t( nh sau: Toán T( Tên Tr v True N u Ví d& K t qu || Or V trái ho c v ph i là True True || false True Or Or V trái ho c v ph i là True True || false True Xor Xor V trái ho c v ph i là True nh ng không ph i c hai True || True False && And V trái và v ph i là true True && false False And And V trái và v ph i là true True && false False ! Not không ph i là true !true False 5- Phép gán k t h p: Khi t o mã PHP, chúng ta s th ng nh n th"y c n ph i t ng ho c gi m l ng bi n m t s nguyên nào ó. B n s th ng th c hi n i u này khi chúng ta m 1 giá tr) nào ó trong vòng l p. Phép Toán Ví d Lý Gi i ++ $a++ B'ng v i $a= $a + 1 -- $a-- B'ng v i $a= $a – 1 += $a+=$b B'ng v i $a= $a + $b -= $a-=$b B'ng v i $a= $a - $b *= $a*=$b B'ng v i $a= $a * $b /= $a/=$b B'ng v i $a= $a / $b II- Các bi u th c c b n: 1- Bi u th c i u ki n: Cú pháp:If( i u ki n) { hành ng } Ví d&:
    12. 23. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 23/68 www.qhonline.info $b=7; If($a < $b) { Echo” Bien A co gia tri nho hon bien B”; } Else { Echo “Bien A co gia tri lon hon bien B”; ?> 2- Vòng l p trong PHP: a) While….. Cú pháp: While( i u ki n) { Hành ng – th c thi } Ví d&: Bài t p áp d&ng: 1- Vi t 1 trang web xu"t ra giá tr) t 1->20. V i )nh d ng font màu -, ki u Tahoma, canh ph i. 2- Vi t 1 trang web có giá tr) t 1->20. Hãy xu"t ra trình duy t nh ng s ch0n n'm trong kho ng 1->20 ó.
    13. 24. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 24/68 www.qhonline.info áp Án: Câu 1: $a"; $a++; } ?> Câu 2: $a"; $a++; } ?> b) Do......while: Cú pháp: Do { Hành ng th c thi }while( i u ki n) Ví d&: 6) ?> c) For…..Loop Cú pháp:
    14. 25. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 25/68 www.qhonline.info For( giá tr) ; i u ki n ; bi n t ng ho c gi m) { Hành ng } Ví d& : "; } ?> Bài t p ví d&: Xây d ng 1 website th-a yêu c u xu"t ra b ng c(u ch ng t 2 10. áp án: "; for($j=1; $j <=10; $j++) { echo "$i x $j =".$i*$j."
      "; } echo "

      "; } ?> d) Phát bi u switch: Cú pháp: Switch(bi n) { Case giá tr) 1: Hành ng; Break; ………… Case giá tr) N: Hành ng; Break; Default: Hành ng; Break; } Ví d&:

    15. 26. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 26/68 www.qhonline.info $a=5; switch($a) { case 1: echo "day la gia tri $a"; break; case 2: echo "day la gia tri $a"; break; case 3: echo "day la gia tri $a"; break; case 4: echo "day la gia tri $a"; break; case 5: echo "day la gia tri $a"; break; default: echo “Khong co gia tri phu hop”; break; } ?> III – T ng k t: K t thúc bài h c này, các b n ít nhi u ã n m c nh ng thu c tính c b n c a các phép toán h c trong PHP, ngoài ra chúng ta c ng t ng b c hi u c cú pháp c a t ng bi u th c. i v i các vòng l p, chúng ta c n hi u và v n chúng m t cách linh ho t và m m d$o, phân bi t c while và do…while. S( d&ng hàm switch trong tr ng h p có quá nhi u giá tr) if…else tr v .
    16. 27. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 27/68 www.qhonline.info Bài 3: M ng Trong PHP (Array) I- Nh ng khái ni m c b n: Chúng ta có th t o 1 mãng v i các ph n t( không #ng nh"t v m t d li u. ây là m t u i m c a PHP so v i các lo i ngôn ng khác nh C++ hay Java 1- Cách kh i t o : có nhi u cách $countries[] = “cr”; $countries[] = “de”; $countries[] = “ca”; L u ý : gi a tên bi n mãng và d"u [] không c cách kho ng tr ng mà ph i vi t li n v i nhau, n u không khi l p trình CT s không báo l!i nh ng s cho k t q a sai. Ch s m c )nh trong kh%i t o mãng n u không ch )nh c& th s là b t u t 0, 1, 2... ho c chúng ta s vi t t ng minh h n nh sau : $countries[0] = “cr”; $countries[1] = “de”; $countries[2] = “ca”; Chúng ta c ng có th kh%i t o mãng 1 cách không tu n t nh sau : $countries[50] = “cr”; $countries[20] = “de”; $countries[10] = “ca”; $countries[] = “uk”; // s mang ch s là 51 Ho c : $countries = array (“cr”, “de”, “us”); echo ($countries[2]); // s in ra “us” N u mu n l"y ch s u là 1 ta kh%i t o nh sau : $countries = array (1=> “cr”, “de”, “us”); echo ($countries[2]); // s in ra “de” Toán t( => có th thay i v) trí ví d& : $countries = array (“cr”, 7=>“de”, “us”); /* index 0 là “cr”, index 7 là “de”,
    17. 28. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 28/68 www.qhonline.info index 8 là “us” */ m s ph n t( c a mãng ta dùng hàm count, nh ví d& % trên n u ta ghi echo (count ($countries)); // s in ra 3 2- i v i các mãng lo i tu n t : Ta có th in ra theo o n CT sau: ví d& : $countries = array (“cr”, “de”, “us”); $num_elements = count ($countries); for ($idx = 0; $idx < $num_elements; $idx++) { echo (“$countries[$idx]” . “
      ”); } 3- i v i các mãng lo i không tu n t : Cách 1 : ví d& : $countries[50] = "cr"; $countries[20] = "de"; $countries[10] = "us"; $countries[] = "uk"; reset ($countries); /* a pointer c a mãng v v) trí khai báo u tiên là index 50 */ while (list ($key, $value) = each ($countries)) { echo ("Element $key equals $value
      "); /* L n l t hi n th) theo th t ã khai báo ban u là index 50, k ti p là index 20 r#i index 10, cu i cùng là index 51 */ } C ch list () : Gán ch s index c a mãng cho i s th nh"t c a list là $key, giá tr) t ng ng v i ch s index ó c a mãng cho i s th hai c a c ch list () là $value each () : C m!i l n c g i s di chuy n pointer c a mãng n thành ph n k ti p c a mãng, gán ch s index c a mãng cho $key và giá tr) t ng ng v i ch s index ó c a mãng cho $value c a c ch list ().
    18. 29. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 29/68 www.qhonline.info Cách 2 : Ví d& : function println ($s) { echo (“$s
      ”); } $countries = array (“ca”, “cr”, “de”, “us”); array_walk ($countries, println); 4- Mãng có ch s là ki u chu!i: Ví d& : $countries[“ca”] = “Canada”; $countries[“uk”] = “United Kingdom”; $countries[“us”] = “United States”; $countries[“cr”] = “Costa Rica”; reset ($countries); while (list ($key, $value) = each ($countries)) { echo ("Element $key equals $value
      "); } 5- Mãng nhi u chi u: Ví d& : $continents = array (“europe”=>array (“de”, “uk”), “north america”=>array (“ca”, “cr”, “us”)); echo ($continents[“europe”][1]); // in ra “uk” echo ($continents[“north america”][2]); // in ra “us” s # bi u di n mãng 2 chi u % trên nh sau : $continents[“europe”] $continents[“north america”] [0] [1] [0] [1] [2] “de” “uk” “ca” “cr” “us”
    19. 30. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 30/68 www.qhonline.info Phép duy t cho mãng % trên c th c hi n nh sau : ví d& : while (list ($key1) = each ($continents)) { echo (“$key1 :
      ”); while (list ($key2, $value) = each ($continents[“$key1”])) { echo (“- $value
      ”); } } II- Các hàm s p x p trên m ng: Quy lu t chung trong s p x p m ng, chúng u tiên s p s tr c, k n là các ký t d"u, r#i m i n các ký t ch , s p x p theo alphabetical 1- Khi ch s (index) là s : Hàm sort () : Ví d& : $countries = array (“us”, “uk”, “ca”, “cr”, “de”); sort ($countries); while (list ($key, $value) = each ($countries)) { echo ("Element $key equals $value
      "); } s hi n th ra nh sau : Element 0 equals ca Element 1 equals cr Element 2 equals de Element 3 equals uk Element 4 equals us * Ghi Chú: s p x p giá tr) t ng theo alphabetical, ch s index b t u t 0. 2- Khi ch s (index) là chu i : Hàm asort () :
    20. 31. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 31/68 www.qhonline.info Ví d& : $countries = array (“us”=>“United States”, “uk”=>“United Kingdom”, “ca”=>“Canada”, “cr”=>“Costa Rica”, “de”=>“Germany”); asort ($countries); while (list ($key, $value) = each ($countries)) { echo ("Element $key equals $value
      "); } K t qu : Element ca equals Canada Element cr equals Costa Rica Element de equals Germany Element uk equals United Kingdom Element us equals United States hàm asort () gi nguyên ch s chu!i, ch s p x p trên giá tr) chu!i c a ch s chu!i t ng ng. Các hàm rsort () và arsort () cách th c s( d&ng gi ng nh hàm sort () và asort () nh ng s p x p theo h ng ng c l i v i tr t t tr c ó. 3- S p x p t ng d n theo ch s (index) : Hàm ksort () : Ví d& : $countries = array (“e”=>“United States”, “d”=>“United Kingdom”, “c”=>“Canada”, “b”=>“Costa Rica”, “a”=>“Germany”); ksort ($countries); while (list ($key, $value) = each ($countries)) { echo ("Element $key equals $value
      "); } K t qu : Element a equals Germany Element b equals Costa Rica Element c equals Canada
    21. 32. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 32/68 www.qhonline.info Element d equals United Kingdom Element e equals United States L u ý : không có hàm s p x p gi m d n theo ch s (index), mu n s p x p nh th ta s( d&ng hàm ksort (), r#i sau ó s( d&ng hàm arsort () t c m&c ích nêu trên. 4- Hàm s p x p theo quy nh tr c c a ng !i s d ng: a) Ch liên quan n giá tr) t ng ng v i ch s (index) : Hàm usort () : không gi l i ch s (index) c Ví d& : function by_length ($a, $b) { $l_a = strlen ($a); $l_b = strlen ($b); if ($l_a == $l_b) return 0; return ($l_a < $l_b) ? –1 : 1; } $countries = array (“e”=>“United States”, “d”=>“United Kingdom”, “c”=>“Canada”, “b”=>“Costa Rica”, “a”=>“Germany”); usort ($countries, by_length); while (list ($key, $value) = each ($countries)) { echo ("Element $key equals $value
      "); } K t qu : Element 0 equals Canada Element 1 equals Germany Element 2 equals Costa Rica Element 3 equals United States Element 4 equals United Kingdom Vi c s( d&ng hàm usort () trong s p x p cho phép ng i s( d&ng a vào quy )nh s p x p c a riêng h nh trong ví d& trên là v chi u dài c a câu: câu ng n % trên, câu dài % d i, nh ng hàm usort () không gi l i c ch s (index) nguyên th y nh lúc
    22. 33. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 33/68 www.qhonline.info ban u c a mãng, mu n gi nguyên ch s (index) nh lúc ban u ta hãy s( d&ng hàm uasort (). b) Ch liên quan n vi c s p x p ch s (index) theo quy )nh tr c b%i ng i s( d&ng : ta s( d&ng hàm uksort () (cách s( d&ng thì t ng t nh hàm v a h c % trên) c) Hàm t o dãy s nguyên ng+u nhiên trong ph m vi t a -> b : ( i u ki n: a : integer, b : integer và a < b) Ví d& : T o dãy s nguyên ng+u nhiên trong ph m t 1 n 10 $int = range (1, 10); srand (time ()); suffle ($int); while (list ( , $num) = each ($int)) { echo (“$num
      ”); } III – T ng k t: Qua bài h c này, chúng ta tìm hi u k/ v các thành ph n c a m ng m t chi u, nhi u chi u và các hàm c b n v x( lý d li u. Hi u rõ c"u trúc m ng, s s p x p #ng b s giúp ích cho các b n r"t nhi u trong nh ng ng d&ng l n.
    23. 34. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 34/68 www.qhonline.info Bài 4: Hàm Và G i L i Hàm I- T o Hàm Trong Php: Ta nên t o các hàm v i lý do: t ng tính nh"t quán, tin c y, gi m th i gian vi t mã và t ng tính m m d$o cho ch ng trình. Trong php, hàm (có giá tr) tr v ) và th t&c (không có giá tr) tr v ) u c g i chung là hàm. )nh ngh a m t hàm c xây d ng b%i ng i s( d&ng nh sau: function tênhàm([thams 1, tham s 2, ...) { //N i dung ph n )nh ngh a c a hàm } Trong ó: function: là t khoá. - Tên hàm: Là m t tên h p l c t theo qui t c nh t tên bi n và không trùng v i các tên hàm ã xây d ng trong php. - M t hàm có th có m t hay nhi u tham s hay không có tham s nào. Các tham s (n u có) s không có kèm theo ki u d li u mà ki u c a nó s tu* thu c vào giá tr) nh n c khi g i hàm. - Ph n n i dung hàm n'm trong c p d"u bao kh i {}. - Hàm s nh n giá tr) tr v thông qua phát bi u return giátr). - return; s thoát kh-i hàm và không tr v giá tr) nào. - return bi uth c; s thoát kh-i ch ng trình và tr v giá tr) bi uth c. - Hàm có th t b"t c v) trí nào trong trang và ch c thi hành khi ta th c hi n g i hàm. Ví d&: Vi t hàm ki m tra xem m t s có ph i là s nguyên t hay không. Hàm s nh n giá tr) tr v : true hay false t ng ng v i tham s nh n vào là s nguyên t hay không.
    24. 35. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 35/68 www.qhonline.info for($i=2; $i<$num; $i++) if ($num % $i==0) return false; return true; } // Hàm không có giá tr) tr v . K t qu in ngay trong hàm function IsNguyenTo2($num) { $i=2; $nto = 1; while ($i<$num) { if ($num % $i==0) { $nto = 0; break; //Thoát kh-i while } $i++; } if ($nto) echo "| " .$num; } $ArrNum = array(2, 3, 5, 6, 9, 10, 23, 28, 29); echo " Danh sach cac so nguyen to trong mang :
      "; //Duy t qua các ph n t( trong m ng for ($i=0; $i<9; $i++) //Truy n tham s và g i hàm. if (IsNguyenTo($ArrNum[$i])) echo "| ". $ArrNum[$i]; echo "
      "; for ($i=0; $i<9; $i++) IsNguyenTo2($ArrNum[$i]); ?>
    25. 36. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 36/68 www.qhonline.info II- Truy n Các Giá Tr M c nh: Các hàm trong php có th nh n các tham s m c )nh. Các tham s m c )nh khi )nh nghiã hàm, chúng c gán giá tr). $thams = giátr). Các hàm có tham s m c )nh nên chuy n các tham s m c )nh sang ph i. function tênhàm($thams _1, $thams _2 = gíatri_2, $thams _3=giátr)_3) Các tham s $thams _2 và $thams _3 là các giá tr) m c )nh. Khi g i hàm, n u ta ch truy n 1 giá tr) cho hàm thì giá tr) ó là c a $thams _1. Các tham s $thams _2 và $thams _3 nh n các giá tr) là gíatri_2 và giátr)_3. Ví d&: Hàm function F($num1, $num2 = 5) {…} ta s g i F(3) 1 F(3, 5). III- Truy n Tham Bi n Và Tham Tr : T"t c các ví d& tr c, t"t c vi c truy n bi n u là tham tr). truy n tham bi n (bi n c truy n có th thay i n i dung khi ra kh-i hàm), khi g i hàm, ta t thêm d"u & tr c bi n c n truy n tham bi n. Ví d&: Trong ham F(), a = " .$a ." va b= " .$b; } $a = 8; $b = 8; echo "
      1. Ngoai ham F(), a = " .$a." va b= " .$b; //G i hàm tham tr). F($a, $b); echo "
      2. Ngoai ham F(), a = " .$a." va b= " .$b; //G i hàm v i bi n $a là tham bi n F(&$a, $b); echo "
      3. Ngoai ham F() a = " .$a." va b= " .$b; ?>
    26. 37. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 37/68 www.qhonline.info K t qu : 1. Ngoai ham F(), a = 8 va b= 8 Trong ham F(), a = 5 va b= 5 2. Ngoai ham F(), a = 8 va b= 8 Trong ham F(), a = 5 va b= 5 3. Ngoai ham F() a = 5 va b= 8 IV- T m v c c a bi n: M t bi n trong m t hàm ch có ph m vi trong hàm ó. Tuy nhiên, n u trong m t hàm, ta c n truy c p n m t bi n mà không thông qua truy n tham s qua g i hàm, ta ph i s( d&ng t khoá global tr c bi n nh minh ho trong ví d& sau: Hàm local_Func có truy c p n m t bi n ngoài nh ng không s( d&ng t khoá global. Ng c l i hàm global_Func c ng truy c p n cùng m t bi n value, nh ng tác ng % hai hàm s khác nhau. Ví d&: Trong local, value co gia tri la :” + $value; } function globalFunc() { global $value; echo “

      Trong Global, value co gia tri la :” + $value; } $value = 5; echo “

      1.Gtri bien value = “ . $value; localFunc(); echo “

      2.Gtri bien value = “ . $value globalFunc();

    27. 38. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 38/68 www.qhonline.info echo “

      3. Gtri bien value = “ . $value ?> K t qu : 1. Gtri bien value = 5 Trong local, value co gia tri la: 100 2.Gtri bien value =5 Global, value co gia tri la :5 3. Gtri bien value = 5 V- S d ng l i mã PHP: s( d&ng l i mã trong nhi u trang web (các script), ta th ng vi t các hàm, )nh ngh a các h'ng hay các o n mã và l u vào m t file riêng. Khi ó, m t trang php nào c n s( d&ng các o n mã ã vi t, có th chèn vào v) trí c n thi t. chèn m t file có s0n vào trang web, ta s( d&ng m t trong b n câu l nh sau: include (filename), require , include_once, require_once. Ví d&: s chèn file functions.php t cùng th m&c v i trang ang vi t vào ngay v) trí t l nh include. Ví d&: có file includefile.php có n i dung T o file mainfile.php có n i dung. File mainfile.php t ng ng v i file có n i dung:

    28. 39. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 39/68 www.qhonline.info echo 'I should have included a file.'; ?> Khác bi t gi a include, include_once, require, require_once Include: c file filename vào ngay t i v) trí câu l nh. Tr ng tr ng h p không tìm th"y file filename, Ch ng trình phát ra c nh báo nh ng v+n ti p t&c th c thi các câu l nh sau include. Require: Th c thi gi ng include, tuy nhiên khi không tìm th"y filename, ch ng trình s không ti p t&c th c thi các câu l nh ti p theo. Require_once và Include_once: Làm vi c gi ng nh require và include nh ng nó ch cho phép filename ch c chèn vào trang web m t l n. VI- T ng k t: K t thúc bài h c này, h2n các b n ã có nh ng khái ni m c b n v hàm và cách s( d&ng l i mã PHP. Trên ng d&ng th c t vi c dùng các hàm tri u g i óng vai trò khá quan tr ng, nó giúp mã ngu#n c a ng i s( d&ng logic và d dàng ch nh s(a h n, vi c ng d&ng nó trên website nh th nào c ng s tùy bi n h n so v i cách vi t tr c ti p trên t ng file.
    29. 40. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 40/68 www.qhonline.info Bài 5: Làm Vi c V i Chu!i I- Nh ng khái ni m c b n: Trong PHP chu!i c xác )nh theo 3 cách: + D"u nháy n : VD: ‘abc’; + D"u nháy kép : VD “abc”; + Heredoc Ví d&: Khuy n khích s( d&ng ki u nháy kép vì nó h! tr nhi u ký t c bi t h n ki u nháy n. 1- Ph "ng th c n i chu i và ký t c bi t trong PHP: n i 2 chu!i v i nhau, PHP cho phép ng i s( d&ng dùng cú pháp: d"u (.) n i hai chu!i v i nhau thành 1 chu!i dài h n. Ví d&: x( lý nh ng ký t l trong chu!i nh d"u “ ho c $, PHP cung c"p cho ta 1 ph ng th c x( lý hi u qu . ó là thêm d"u “” sau m!i giá tr). Ví d&: Ta có b ng ký t sau:
    30. 41. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 41/68 www.qhonline.info n Ký t xu ng dòng r Tr% v u dòng t Ký t tab backslash $ dollar sign " double-quote II- Các hàm v chu i c b n: 1- Hàm substr() : cú pháp : string substr (string source, int begin, int length); tr v 1 chu!i con trong chu!i c n l"y, i s th 3 là tùy ch n, v) trí u tiên c a chu!i c tính là v) trí 0. ví d& 1: echo (substr (“christopher”, 1)); // in ra “hristopher” echo (substr (“christopher”, -2)); // in ra “er” //N u i s th hai là s âm nó s m t cu i chu!i ng c l i phía tr c s ký t b'ng v i giá tr) tuy t i c a s âm ó. echo (substr (“christopher”, -5, 3)); // in ra “oph” echo (substr (“christopher”, -3)); // in ra “her” echo (substr (“christopher”, 2, 3)); // in ra “ris” echo (substr (“christopher”, 2, -3)); // in ra “ristop” echo (substr (“christopher”, -6, -3)); // in ra “top” echo (substr (“christopher”, 7, -8)); // in ra “” chu!i r!ng 2- Hàm strlen(): cú pháp : int strlen (string str); xác )nh chi u dài c a chu!i Ví d& : echo (strlen (“Christopher”)); // in ra s 11 3- Hàm thay #i ki u ch : + Hàm strtoupper () : i ch th ng thành hoa
    31. 42. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 42/68 www.qhonline.info ví d& : strttoupper (“toi”); // in ra “TOI” + Hàm strtolower () : i ch hoa thành th ng ví d& : strlower (“TOI”); // in ra “toi” + Hàm ucfirst () : i ch in ký t u tiên c a câu ví d& : ucfirst (“in house”); // in ra “In house” + Hàm ucwords () : i ch in ký t u tiên c a m!i t ví d& : ucwords (“in house”); // in ra “In House” 4- Hàm so sánh chu i: Có th dùng toán t( so sánh = = (b'ng), !=, <, <=, >, >=, === so sánh các chu!i. Ngoài ra, ta còn có m t s ph ng th c so sánh chu!i nh sau: Các hàm strcmp(), strcasecmp(), strnatcmp() s so sánh các chu!i theo phép so sánh t i n. Hàm int strcmp(string S1, string S2): So sánh 2 chu!i S1, S2 có phân bi t hoa/th ng. Hàm này tr v giá tr) >0 n u S1>S2, 0 n u S1=S2 và giá tr) <0 n u S10) echo “$var1 > $var2”; if (strcmp($var1, $var2) <0) echo “$var1 < $var2”; if (strcmp($var1, $var2) ==0)
    32. 43. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 43/68 www.qhonline.info echo “$var1 = $var2”; ?> K t qu hi n th : Length Hello:5 Hello = hello in a case-insensitive Hello < hello 5- Hàm tìm ki m và thay th chu i: + Tìm ki m chu!i bên trong chu!i : tìm ki m 1 chu!i bên trong 1 chu!i khác, b n có th s( d&ng 1 trong 3 hàm strstr (), strchr (), strrchr () hay stristr (), các hàm trên s tr v chu!i str1, n u tìm th"y chu!i str1 trong chu!i str2, ng c l i hàm tr v giá tr) false, n u có nhi u chu!i con str1 trong str2, thì hàm này ch tìm ki m chu!i str1 u tiên. Hàm strstr () : cú pháp : string strstr (string str1, string str2); ví d& : ”); // is excellent ?> + Hàm t o chu!i con:Hàm string substr (string S, int start [, int length]): tr v chu!i con c thành l p t( chu!i S v i các tham s start và length. N u start >=0: s tr v chu!i b t u t v) trí start trong S. Ví d&: N u start <0: s tr v chu!i b t u t v) trí start c a S tính t cu i chu!i.
    33. 44. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 44/68 www.qhonline.info $rest = substr ("abcdef", -1); // returns "f" $rest = substr ("abcdef", -2); // returns "ef" $rest = substr ("abcdef", -3, 1); // returns "d" ?> N u length >=0 (giá tr) m c )nh là 0), chu!i tr v có chi u dài length ký t tính t v) trí start. N u length < 0: Chu!i tr v chu!i t start t i v) trí k t thúc cách cu i chu!i length ký t . + Hàm thay th chu!i con : Hàm str_replace () : Cú pháp : string str_replace (string str1, string str2, string str); Hàm thay th chu!i S1 b'ng chu!i S2 trong chu!i S. Trong tr ng h p có nhi u S1 trong S, t"t c các S1 u c thay b%i S2 (thay th t"t c ). "); //$bodytag = "” ?> Hàm substr_replace () : Cú pháp : string substr_replace (string str, string replacement, int start, int [length]); Hàm này s thay th chu!i str b'ng chu!i replacement, ph n nào c a chu!i str c thay th s tùy thu c vào 2 tham s là start và length. + start : v) trí b t u c a chu!i thay th replacement trong chu!i str N u start >= 0 : v) trí thay th s c tính t u chu!i tr% i, start tính b'ng n v) ký t (v) trí th nh"t c a chu!i là 0). N u start < 0 : Nó s c tính b t u t cu i chu!i. +length : là tham s tùy ch n, cho bi t i m d ng vi c thay th . N u không có i s này thì vi c thay th s là t v) trí start n cu i chu!i. N u length = 0 : vi c thay th s là chèn vào v) trí start và ký t tr c start N u length > 0 : cho bi t s ký t mà b n mu n thay th v i replacement N u length < 0 : cho bi t i m k t thúc vi c thay th tính t v) trí cu i chu!i tr% l i
    34. 45. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 45/68 www.qhonline.info Các hàm c gi i thi u phía trên là nh ng hàm thông d&ng và th ng s( d&ng. bi t thêm thông tin nhi u hàm h n, các b n có th truy c p vào website : php.net l"y thông tin y v các hàm trong chu!i. III- T ng k t: , bài này chúng ta ã làm tìm hi u k/ v ki u d li u chu!i, nh ng hàm ph& tr quan tr ng trong vi c l p trình ng d&ng nh tìm ki m, thay th , so sánh,…. i v i PHP chu!i là m t trong nh ng m ng có phong phú v các hàm, s( d&ng t t chúng b n c n hi u rõ nguyên t c ho t ng c a t ng hàm, n m v ng c"u trúc c b n trong các hàm chu!i t ó chúng ta d dàng v n d&ng chúng trong các ng d&ng l n.
    35. 46. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 46/68 www.qhonline.info Bài 6: Các Thao Tác Trên File I- C b n v File: 1- M file : S( d&ng hàm fopen () Cú pháp : int fopen (string filename, string mode) i v i h i u hành Unix hay Linux, th m&c g c c )nh ngh a b'ng d"u /, nh ng i v i h i u hành Windows, th m&c g c c )nh ngh a trên m t d a c& th nào ó ví d& nh C:, d"u phân cách gi a các th m&c và t p tin trong Unix ho c Linux chúng ta s( d&ng d"u /, còn trong windows chúng ta s( d&ng ví d& : trong Linux : $fl = fopen (“/website/customers.txt”, “w”); trong Windows : $fw = fopen (“C:webdesignsales.txt”, “r”); a. Các ch m file : Mode Di n gi i r Read only r+ Read_Write w Write Only w+ Write_Read. N u file này t#n t i, n i dung c s b) xoá i, còn n u không t#n t i nó s c t o m i a M% d i d ng append d li u, ch có write, n u file t#n t i, s ghi ti p vào ph n d i c a n i dung có s0n, n u file không t#n t i s c t o m i. a+ M% d i d ng append d li u (write và read), n u file t#n t i, d li u s ghi ti p vào ph n bên d i c a n i dung c , n u file không t#n t i s c t o m i b M% d i ch file binary Trong tr ng h p không bi t file n'm % v) trí nào trên h th ng, b n có th khai báo thêm tham s là s 1 cho hàm fopen () nh sau :
    36. 47. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 47/68 www.qhonline.info $fw = fopen (“customers.txt”, “a”, 1); ví d& : Open File
      b. M file thông qua ftp hay http : Ví d& : $f = “ftp://www.qhonline.info/orders.txt”; $fw = fopen ($f, “a”); ho c : $f = “http://www.qhonline.info.com/orders.txt”; $fw = fopen ($f, “a”); c. M file và vi c s d ng toán t @ b t l i Xem o n ch ng trình sau ây : Open file and Debug
    37. 48. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 48/68 www.qhonline.info ?> 2- óng file : hàm fclose () Cú pháp : int fclose (int fw) $fw là bi n nh n giá tr) tr v khi g i hàm m% file $fw = fopen (...); 3- Hi n th file : hàm fpassthru () Cú pháp : int fpassthru (int fw) Hàm này có th hi n th) c file nh Ví d& : if (!$fw = fopen (“picture.gif”, “rb”)) { echo (“could not open file”); } else { fpassthru ($fw); } 4- c file : a) Hàm fread () Cú pháp : string fread (int fw, int length); m!i l n c length ký t Ví d& : if (!$fw = fopen (“vanban.txt”, “r”)) { echo (“could not open file”); } else { $text = fread ($fw, 10); // c 10 ký t u c a file fclose ($fw); }
    38. 49. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 49/68 www.qhonline.info N u nh file có s ký t ít h n length ký t trong fread (), nó s c úng s ký t c a file. b) Hàm fgetc (): Cú pháp : string fgetc (int fw) c úng 1 ký t c a file. N u file r!ng (không có ký t ) thì nó s tr v m t chu!i r!ng (false) c) Hàm fgets () Cú pháp : string fgets (int fw, int length); s d ng vi c c file khi g p ký t new line hay cu i file. d) Hàm fgetss () Cú pháp và ho t ng y nh hàm fgets (), nh ng các ký t n'm trong c p d"u <> s b) lo i b- khi c, cho dù v y nó v+n c tính vào chi u dài c a chu!i c. e) Hàm file () Cú pháp : array file (string filename); m!i dòng c a file c c s là 1 ph n t( c a mãng, dòng u tiên c a file s là ph n t( 0 Ví d& : $arrtext = file (“vanban.txt”); for ($i = 0; $i < count ($arrtext); $i++) { echo (“

      $arrtext[$i]

      ”); } 5- Ghi lên file : Hàm fwrite () và fputs () Cú pháp : int fwrite (int fw, string str, int length); int fputs (int fw, string str, int length); i s th ba n u không a vào thì toàn b chu!i s c ghi, còn n u a vào i s th ba thì nó s ghi vào file chu!i str ( i th hai) có dài úng b'ng chi u dài length c a i s th ba.
    39. 50. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 50/68 www.qhonline.info II- Các hàm x lý file: 1- Các hàm d ch chuy n ho c qu n lý con tr$ m%u tin trong file : a) Hàm rewind () Cú pháp : int rewind (int fw); a con tr- m3u tin v u file b) Hàm fseek () Cú pháp : int fseek (int fw, int offset); Di chuy n con tr- m3u tin n m t v) trí xác )nh trong file offset : s byte ho c s character tính t u file Ví d& : fseek ($fw, 1); // di chuy n n ký t th hai c a file c) Hàm ftell () Cú pháp : int ftell (int fw); cho bi t v) trí hi n th i c a con tr- m3u tin Ví d& : fseek ($fw, ftell ($fw) + 20); t v) trí hi n th i d)ch chuy n thêm 20 ký t d) Hàm feof () Cú pháp : int feof (int fw); cho bi t v) trí cu i file Ví d& : if (!$fw = fopen (“vanban.txt”, “r”)) { echo (“could not open file”); } else { while (!feof ($fw)) { echo (fgetc ($fw)); } } 2- Copy, Delete, Rename file: a) Hàm Copy () Cú pháp : int copy (string source, string destination);
    40. 51. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 51/68 www.qhonline.info b) Hàm unlink () Cú pháp : int unlink (string filename); delete file, file c delete ph i óng (không m%) c) Hàm rename () Cú pháp : int rename (string oldname, string newname); t tên file l i II- T ng k t: Vi c s( d&ng file m t cách thành th o s giúp b n d dàng v n hành các ng d&ng mang quy mô v a và nh- nh : website nhi u ngôn ng , b m,…và c nh ng công ngh web m i nh XML m t cách d dàng, Qua bài h c này chúng ta c ng hi u c nguyên lý ho t ng, trình t x( lý 1 file d li u khi chúng c tri u g i trong tài li u PHP.
    41. 52. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 52/68 www.qhonline.info Bài 7: X( Lý Form Trong PHP I- T ng tác v i ng i s d ng: PHP cho phép ng i s( d&ng t ng tác v i chúng thông qua form nh p li u c vi t thu n túy trên HTML. Tuy nhiên làm c i u "y PHP yêu c u form ph i áp ng 1 s quy )nh chung t ra. Chúng ta cùng phân tích th$ form trong HTML sau:
      Chúng ta th"y r'ng 1 form ph i bao g#m: Tên form d dàng tách bi t v i giá tr) c a chúng. Action: hành ng chuy n ti p n link x( lý. Method: Là ph ng th c truy n bao g#m POST và GET. Ví d&: Please type your name here :


      V y làm cách nào chúng ta l"y c giá tr) v a nh p li u nào ?. PHP cho phép ta l"y giá tr) d a vào 2 ph ng th c POST và GET. i v i POST ta có : $_POST[‘Giá tr)’] i v i GET ta có : $_GET[‘Giá tr)’] V y v i o n code trên có th l"y c bi n x( lý là : $_POST[‘username’]; II- X lý d li u t! trang ng i nh p li u. 1- Ph "ng th c POST: Ph ng th c này c s( d&ng l"y d li u t form nh p li u. Và chuy n chúng lên trình ch webserver. 2- Ph "ng th c GET: Ph ng th c này c ng c dùng l"y d li u t form nh p li u. Tuy nhiên nhi m v& chính c a nó v+n là l"y n i dung trang d li u t web server. Bài t p ví d&:
    42. 53. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 53/68 www.qhonline.info Xây d ng 1 trang HTML v i n i dung g#m form nh p li u h và tên. Sau ó dùng 1 file php xu"t ra thông tin h và tên mà ng i s( d&ng v a nh p li u. áp Án: T o file userform.htm v i n i dung sau:
      Please type your name here :


      T o file processform.php xu"t ra d li u Bài t p áp d&ng : T o 1 trang web v i h p tho i nh p li u username và password. N u ng i s( d&ng nh p thông tin username/password là admin/12345 thì xu"t ra thông báo “welcome, admin” v i ki u ch Tahoma, màu -. Ng c l i n u nh p sai thì xu"t thông báo “Username ho c password sai. Vui lòng nh p l i”. áp án: T o trang login.html v i n i dung sau: login page
      Username
      Password
      Ti p t&c t o trang checklogin.php v i n i dung sau:
    43. 54. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 54/68 www.qhonline.info Welcome to, ".$username.""; } else { echo "Username hoac password khong chinh xac, vui long dang nhap lai"; } ?> III- T ng K t: K t thúc bài này các b n ã n m c k/ thu t ki m tra thông tin d a trên PHP. K/ thu t xây d ng trang upload, ki m tra tính h p l c a ng i s( d&ng 1 cách d dàng b%i s tùy bi n trong các bi u th c c a PHP.
    44. 55. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 55/68 www.qhonline.info Bài 8: Qu n Lý Phiên Làm Vi c I- T ng quan v cookie: Cookie là 1 o n d li u c ghi vào a c ng ho c b nh c a máy ng i s( d&ng. Nó c trình duy t g%i ng c lên l i server m!i khi browser t i 1 trang web t server. Nh ng thông tin c l u tr trong cookie hoàn toàn ph& thu c vào website trên server. M!i website có th l u tr nh ng thông tin khác nhau trong cookie, ví d& th i i m l n cu i ta ghé th m website, ánh d"u ta ã login hay ch a, v.v... Cookie c t o ra b%i website và g%i t i 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. Ngoài ra, m!i browser qu n lý và l u tr cookie 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. 1- Thi t l&p cookie trong PHP: thi t l p cookie ta s( d&ng cú pháp: Setcookie(“tên cookie”,”giá tr)”) Tên cookie là tên mà chúng ta t cho phiên làm vi c. Giá tr) là thông s c a tên cookie. Ví d&: Setcookie(“username”,”admin”) Nh ví d& trên ta th"y v i tên là username và giá tr) là admin. Chú ý: K)ch b n cookie ph i t trên m i giá tr) tr v bao g#m th$ HTML và l nh echo. 2- S d ng cookie trong PHP: s( d&ng l i cookie v a thi t l p, chúng ta s( d&ng cú pháp: Cú pháp: $_COOKIE[“tên cookies”] Tên cookie là tên mà chúng ta thi t l p phía trên. Ví d&: T o trang cookie.php v i n i dung sau:
    45. 56. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 56/68 www.qhonline.info setcookie("name","Kenny Huy"); ?> Test page 1 Click here Ti p t&c t o trang cookie2.php v i n i dung sau: Result Page ".$_COOKIE['name'].""; ?> 3- nh d ng các tham s khác trong cookie: Cú pháp c b n: Setcookie(“Tên Cookie”,”Giá tr)”,”Th i Gian”,” ng d+n”,”Tên mi n”,”An toàn” Tên cookie là tên mà chúng ta t cho phiên làm vi c. Giá tr) là thông s c a tên cookie. Th i gian là th i h n dùng thi t l p s t#n t i c a cookie. c tính theo s giây so v i m c ngày 1-1-1970. Th ng c tính b'ng th i gian hi n t i c ng v i 1 kho ng th i gian nào ó mu n s( d&ng cookie ng d+n là th m&c nào thì cookie có tác d&ng. Tên mi n là tên trang web mà chúng ta thi t l p cookie . An toàn là s l a ch n cookie có c g(i theo giao th c HTTPS hay không. Ch n 1 là có và 0 là k t n i thông th ng(HTTP). Ví d&: Setcookie(“user_id”,”1301”,time()+3600,”/”,””,0); Tên cookie: User_id Giá tr): 1301 Th i gian: Cookie t#n t i trong 1 gi tính t th i gian thi t l p.
    46. 57. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 57/68 www.qhonline.info ng d+n: trên m i th m&c Tên mi n: B- qua thu c tính này An toàn: Ch"p nh n giao th c HTTP(thông th ng). 4- H y Cookie: h y 1 cookie ã c t o ta có th dùng 1 trong 2 cách sau: a) Cú pháp: setcookie(“Tên cookie”) G i hàm setcookie v i ch duy nh"t tên cookie mà thôi b) Dùng th i gian h t h n cookie là th i i m trong quá kh . Ví d&: setcookie(“name”,”Kenny Huy”,time()-3600); Ví d&: Ti p t&c t o trang cookie3.php v i n i dung sau: Test page 1 Click here Bài t p áp d ng: Xây d ng website s( d&ng tính n ng cookie 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)
    47. 58. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 58/68 www.qhonline.info II- T ng quan v SESSION 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&:
    48. 59. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 59/68 www.qhonline.info 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: Test page 1 Click here T o trang session2.php v i n i dung sau: Result Page ".$_SESSION["name"].""; ?> 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& T o trang session3.php v i n i dung sau:
    49. 60. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 60/68 www.qhonline.info Test page 1 Click here 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,…..
    50. 61. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 61/68 www.qhonline.info 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 Haianh223 Password 12345 Email 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
    51. 62. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 62/68 www.qhonline.info 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 ( ,…,…..) Ví d&: mysql> create table user(user_id INT(15) UNSIGNED NOT NULL AUTO_INCREMENT, user
    52. 63. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 63/68 www.qhonline.info 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 AFTER 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 II- Nh ng cú pháp sql c b n: 1- Thêm giá tr vào b ng: Cú pháp: INSERT INTO Tên_b ng(tên_c t) VALUES(Giá_tr)_t ng_ ng); Ví d&: mysql> insert into user(username,password,email,sex,home) values("Lanna","12345" ,"","F","www.abc.com"); Query OK, 1 row affected (0.00 sec) 2- Truy xu t d li u: Cú pháp: SELECT tên_c t FROM Tên_b ng; Ví d&: mysql> select user_id,username from user; 3 rows in set (0.00 sec) 4- Truy xu t d li u v i i u ki n: Cú pháp: SELECT tên_c t FROM Tên_b ng WHERE i u ki n; Ví d&:
    53. 64. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 64/68 www.qhonline.info mysql> select user_id,username from user where user_id=2; Bài t p áp d ng: T o c s% d li u v i thông tin sau: ID Fname Lname Email Password Sex Phone 1 Nguyen Van Hoa 12345 F 0903234532 2 Tran Hoa 23456 M 97234512 3 Nguyen Thi Thuy 24625 F 98374642 4 Hoang Phi Hong 57265 M 94673257 5 Le Van Lam 45625 M 93562535 6 Nguyen Cam Nhung 52672 F 93525135 7 Hoang Phi Yen 63456 F 94754363 Th c hi n các công vi c sau: 1- T o 1 b ng v i các c t trên. 2- Nh p li u thông tin theo nh b ng trên. 3- Li t kê t"t c thông tin c a nh ng ai có sex là female. 4- Li t kê thông tin c a ng i có Lname là “Van Hoa”. 5- Li t kê t"t c thông tin c a nh ng ai có sex là male và có h là “Nguy n”. 6- Li t kê fname,lname, email c a nh ng ai có s phone “0903234532”. 7- Dùng hàm mã hóa b o m t password c a ng i dùng. 5- Truy c&p d li u và s p x p theo trình t Cú pháp: SELECT tên_c t FROM Tên_b ng WHERE i u ki n (có th có where ho c không) ORDER BY Theo quy c s p x p. Trong ó quy c s p x p bao g#m hai thông s là ASC (t trên xu ng d i), DESC (t d i lên trên). Ví d&:
    54. 65. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 65/68 www.qhonline.info mysql> select user_id,username from user order by username ASC ; Câu l nh trên l"y ra thông tin user_id và username t b ng user và chúng c s p x p theo username trình t t trên xu ng d i. 6- Truy c&p d li u có gi i h n : Cú pháp: SELECT tên_c t FROM Tên_b ng WHERE i u ki n (có th có where ho c không) LIMIT v) trí b t u, s record mu n l"y ra Ví d&: mysql> select user_id,username from user order by username ASC limit 0,10 ; Câu l nh trên l"y ra thông tin user_id và username t b ng user. Chúng c s p x p theo username trình t t trên xu ng d i. Và l"y ra 10 record t v) trí 0. 7- C&p nh&t d li u trong b ng: Cú pháp: Update tên_b ng set tên_c t=Giá tr) m i WHERE ( i u ki n). N u không có ràng bu c i u ki n, chúng s c p nh t toàn b giá tr) m i c a các record trong b ng. Ví d&: mysql> update user set email=”” where user_id=1 ; 8- Xóa d li u trong b ng: Cú pháp: DELETE FROM tên_b ng WHERE ( i u ki n). N u không có ràng bu c i u ki n, chúng s xó toàn b giá tr) c a các record trong b ng. Ví d& mysql>delete from user where user_id=1 ;
    55. 66. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 66/68 www.qhonline.info III- Mysql và PHP: 1- K t n i c" s d li u: Cú pháp: Mysql_connect(“hostname”,”user”,”pass”) 2- L a ch n c" s d li u: Cú pháp: Mysql_select_db(“tên_CSDL”) Ví d : $conn=mysql_connect(“localhost”,”root”,”root”) or die(“ khong the ket noi”); Mysql_select_db(“demo”); 3- Th c thi câu l nh truy v n: Cú pháp: Mysql_query(“Câu l nh SQL”) 4- m s record trong b ng: Cú pháp: Mysql_num_rows(); 5- L y d li u t' database: Cú pháp: Mysql_fetch_array(); Ví d :
    56. 67. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 67/68 www.qhonline.info $row=mysql_fetch_array($query) } ?> Bài t p áp d ng: Xu"t thông tin ng i dùng t c s% d li u % bài t p trên b'ng PHP. ID Fname Lname Email Password Sex Phone 1 Nguyen Van Hoa 12345 F 0903234532 2 Tran Hoa 23456 M 97234512 3 Nguyen Thi Thuy 24625 F 98374642 4 Hoang Phi Hong 57265 M 94673257 5 Le Van Lam 45625 M 93562535 6 Nguyen Cam Nhung 52672 F 93525135 7 Hoang Phi Yen 63456 F 94754363 IV- T ng k t: , bài này chúng ta ã làm vi c v i sql và các k/ thu t k t n i v i database c a PHP. Các hàm PHP h! tr mysql hi n nay có r"t nhi u. Tuy nhiên v tính n ng c ng nh ph ng th c s( d&ng thì chúng c ng gi ng nhau. Do v y các b n không nên lo l ng khi làm vi c v i nh ng hàm mà chúng ta ang nghiên c u.
    57. 68. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 68/68 www.qhonline.info Ph n C: Project Training V i nh ng ki n th c ã h c c, b n hãy áp d&ng xây d ng hoàn ch nh m t ng d&ng web c& th và n p chúng cho gi ng viên c a b n. M t s project tiêu bi u khuy n khích các h c viên làm: tài 1: Xây d ng trang tin t c i n t( v i các tính n ng chuyên nghi p nh (chuyên m&c tin, tin t c,…