10 sai lầm chết người trong tiếp thị

 10 sai lầm chết người trong hoạt động bán hàng

10 sai lầm chết người trong hoạt động bán hàng

Ngày tải lên : 22/10/2012, 14:25
... 10 sai lầm chết người trong hoạt động bán hàng Thật khó tin nếu một doanh nhân tự đắc cho rằng: "Tôi chưa từng vấp ngã, không sai lầm& quot;. Thật ra, ai cũng có sai lầm, có lúc ... nghiệm gì cho công việc sau này. Dưới đây là những sai lầm phổ biến nhất trong hoạt động bán hàng. Sai lầm 1: Thiếu một hình ảnh chuyên nghiệp Để mọi người lắng nghe bạn và chú ý tới những gì bạn ... hơn và tạo được niềm tin cậy trong lòng khách hàng. Sai lầm 5: Thiếu hệ thống phân loại Điều này rất quan trọng bởi sẽ có một tỷ lệ nhất định những người mà bạn tiếp xúc sẽ không mua sản phẩm,...
  • 2
  • 1K
  • 9
 10 sai lầm chết người trong hoạt động bán hàng.

10 sai lầm chết người trong hoạt động bán hàng.

Ngày tải lên : 22/10/2012, 16:03
... 10 sai lầm chết người trong hoạt động bán hàng Thật khó tin nếu một doanh nhân tự đắc cho rằng: "Tôi chưa từng vấp ngã, không sai lầm& quot;. Thật ra, ai cũng có sai lầm, có lúc ... nghiệm gì cho công việc sau này. Dưới đây là những sai lầm phổ biến nhất trong hoạt động bán hàng. Sai lầm 1: Thiếu một hình ảnh chuyên nghiệp Để mọi người lắng nghe bạn và chú ý tới những gì bạn ... hơn và tạo được niềm tin cậy trong lòng khách hàng. Sai lầm 5: Thiếu hệ thống phân loại Điều này rất quan trọng bởi sẽ có một tỷ lệ nhất định những người mà bạn tiếp xúc sẽ không mua sản phẩm,...
  • 2
  • 465
  • 5
Năm sai lầm chết người trong bán lẻ

Năm sai lầm chết người trong bán lẻ

Ngày tải lên : 22/10/2012, 11:06
... 5 sai lầm chết người ở trên sẽ không bảo đảm thành công trong bán lẽ, nhưng nếu tiếp tục bỏ qua chắc chắn các nhà bán lẻ sẽ tiến gần hơn tới bờ vực thất bại. Có rất nhiều rủi ro và cạm bẫy trong ... bẫy trong một thị trường thay đổi nhanh chóng ngày nay. Hoàn toàn ý nghĩa khi mà các nhà bán lẻ gia tăng cơ hội chạm vào thành công bằng nhận ra và tránh xa các sai lầm này. Sai lầm này phần ... sẽ tìm kiếm thấy cửa hàng. Tất cả đều không thành công! Một khía cạnh khác trong sai lầm này còn là thất bại trong việc đối xử tốt với các khách hàng bằng tất cả sự lịch thiệp và tôn trọng....
  • 3
  • 958
  • 2
Những sai lầm chết người trong xây dựng chiến lược khách hàng

Những sai lầm chết người trong xây dựng chiến lược khách hàng

Ngày tải lên : 22/10/2012, 15:03
... quyết định hay chương trình tiếp thị. Họ cho rằng, nguyên nhân của các sai lầm về tiếp thị trước đây là do thiếu kiến thức và hiện nay sẽ chẳng ai mắc những sai lầm kiểu đó nữa. Biết rõ chân ... mình trong nhận thức của các khách hàng mục tiêu. Nhưng trên thực tế, các công ty vẫn liên tục vấp phải sai lầm, mặc dù họ đã rất chú ý nâng cao kiến thức tiếp thị. Sau đây là một số sai lầm ... “ẩn mình” trong đó. Sản phẩm №1 Nhưng ai nói như vậy? Nhà tiếp thị có thể nói đó là sản phẩm tốt nhất, nhưng nên nhớ rằng họ không phải là người mua. Mục tiêu của các nhà tiếp thịngười tiêu...
  • 7
  • 527
  • 3
Những sai lầm chết người trong xây dựng chiến lược khách hàng

Những sai lầm chết người trong xây dựng chiến lược khách hàng

Ngày tải lên : 08/11/2012, 12:36
... Những sai lầm chết người trong xây dựng chiến lược khách hàng Để thành công thì người kinh doanh nào cũng cần khách hàng và mọi công tỵ đều ... bại trong nhiệm vụ quan trọng nhất của họ: thu hút và giữ khách hàng? Lior Arussy, một chuyên gia về chiến lược khách hàng cho rằng có nhiều lý do, mà ông gọi là "những sai lầm chết người& quot;. ... người& quot;. Sai lầm thứ nhất: Văn hóa “tôn thờ” cái mới Nhiều công ty ngưỡng mộ và tôn sùng cái mới: sản phẩm mới, khách hàng mới, thương vụ mới, phạm vi hoạt động mới. Họ sống trong một nền...
  • 2
  • 576
  • 0
21 sai lam chet nguoi trong lap trinh voi PHP

21 sai lam chet nguoi trong lap trinh voi PHP

Ngày tải lên : 23/01/2013, 15:02
... while c ầ n thi ế t trong tr ườ ng h ợ p n à y v ì khi đó , b ộ đế m c ủ a CSDL đã t ă ng l ê n v à chuy ể n sang d ò ng k ế ti ế p . Do đó , b ạ n ph ả i x ử l í (l ệ nh do )d ò ng đầ u ti ê n v ì n ó đã đượ c l ấ y. C á c l ệ nh ti ế p theo l ấ y c á c d ò ng k ế , v à c ứ th ế . PHP programming dynamic web for ewreybody 21 Fatal errors in programming with PHP – Collect from writ t ing of Sterling Hughes NGUYEN ANH KHOA – Class 27K0A – Department Of Information Technology 9 9 9 9 Dormitory 204.B5 18:20 PM April 7, 2006 Đâ y l à m ộ t th ó i quen x ấ u v ì  N ó kh ô ng đượ c d ù ng r ộ ng r ã i, cho n ê n nhi ề u ng ườ i h ọ c s ẽ b ị l ẫ n l ộ n gi ữ a hai c ú ph á p  N ó kh ô ng t ươ ng th í ch v ớ i ng ô n ng ữ kh á c, ngh ĩ a l à n ó tr ở n ê n kh ó đọ c đố i v ớ i nh ữ ng ng ườ i trong giai đ o ạ n qu á độ (m ớ i chuy ể n t ừ m ộ t ng ô n ng ữ n à o đó sang PHP)  Quan tr ọ ng nh ấ t, l à m ộ t ng à y n à o đó t í nh n ă ng n à y s ẽ b ị xo á x ổ , b ắ t bu ộ c b ạ n ph ả i vi ế t l ạ i to à n b ộ m ã c ó d ù ng n ó . D ấ u ngo ặ c nh ọ n lu ô n lu ô n l à m ộ t ph ầ n c ủ a ng ô n ng ữ PHP. Ở tr ê n ch ỉ l à m ộ t th í d ụ v ề c ấ u tr ú c l ỗ i th ờ i. N ó c ò n nhi ề u n ữ a. Nh ư m ộ t quy t ắ c, b ạ n n ê n theo nh ữ ng c á c vi ế t trong t à i li ệ u PHP. H ầ u h ế t n ó đượ c c ậ p nh ậ t m ớ i. N ó c ũ ng d ù ng c á c h à m m ớ i nh ấ t c ủ a PHP trong th í d ụ c ủ a m ì nh. N ê n th ườ ng xuy ê n ki ể m tra t à i li ệ u khi b ạ n c ó ý mu ố n m ở r ộ ng t í nh n ă ng n à o đó c ủ a PHP. Theo c á ch n à y, b ạ n s ẽ kh ô ng ph ả i vi ế t l ạ i c á c h à m c ó s ẵ n. T T T T ổ ổ ổ ổ ng ng ng ng k k k k ế ế ế ế t t t t Trong b à i n à y b ạ n đã đ i qua 7 tr ê n t ổ ng s ố 21 l ỗ i m à l ậ p tr ì nh vi ê n PHP m ắ c ph ả i. Nh ữ ng l ỗ i gi á o khoa n à y bao g ồ m:     S S S S ử ử ử ử d d d d ụ ụ ụ ụ ng ng ng ng sai sai sai sai h h h h à à à à m m m m printf() printf() printf() printf()     Á Á Á Á p p p p d d d d ụ ụ ụ ụ ng ng ng ng sai sai sai sai ng ng ng ng ữ ữ ữ ữ ngh ngh ngh ngh ĩ ĩ ĩ ĩ a a a a     Thi Thi Thi Thi ế ế ế ế u u u u t t t t à à à à i i i i li li li li ệ ệ ệ ệ u u u u trong trong trong trong m m m m ã ã ã ã ngu ngu ngu ngu ồ ồ ồ ồ n n n n     D D D D ù ù ù ù ng ng ng ng qu qu qu qu á á á á nhi nhi nhi nhi ề ề ề ề u u u u bi bi bi bi ế ế ế ế n n n n t t t t ạ ạ ạ ạ m m m m     Vi Vi Vi Vi ế ế ế ế t t t t l l l l ạ ạ ạ ạ i i i i c c c c á á á á c c c c h h h h à à à à m m m m c c c c ó ó ó ó s s s s ẵ ẵ ẵ ẵ n n n n     Kh Kh Kh Kh ô ô ô ô ng ng ng ng t t t t á á á á ch ch ch ch bi bi bi bi ệ ệ ệ ệ t t t t ph ph ph ph ầ ầ ầ ầ n n n n kh kh kh kh á á á á ch/ch ch/ch ch/ch ch/ch ủ ủ ủ ủ     D D D D ù ù ù ù ng ng ng ng c c c c á á á á c c c c c c c c ấ ấ ấ ấ u u u u tr tr tr tr ú ú ú ú c c c c l l l l ỗ ỗ ỗ ỗ i i i i th th th th ờ ờ ờ ờ i i i i // Bad/Outdated Practice while ( 1 ): print "5" ; if ( $idx ++ == 5 ): break; endif; endwhile; // Better Practice // (the code could be optimized though) while ( 1 ) { print "5" ; if ( $idx ++ == 5 ) { break; } } ?> PHP programming dynamic web for ewreybody 21 Fatal errors in programming with PHP – Collect from writ t ing of Sterling Hughes NGUYEN ANH KHOA – Class 27K0A – Department Of Information Technology 24 24 24 24 Dormitory 204.B5 18:20 PM April 7, 2006 th ể kh ẳ ng đị nh kh á ch ắ c ch ắ n r ằ ng kh ô ng c ó m ộ t ng ườ i 200 tu ổ i n à o c ó kh ả n ă ng d ù ng m á y vi t í nh.  Khi ch ấ p nh ậ n th ẻ t í n d ụ ng. M ộ t s ố l ậ p tr ì nh vi ê n ch ỉ d ù ng nh ữ ng thu ậ t to á n đơ n gi ả n m à c ó th ể d ễ d à ng b ị đá nh l ừ a khi th ự c hi ệ n ki ế m tra th ẻ t í n d ụ ng. Ch ỉ ch ấ p nh ậ n th ẻ c ủ a c á c c ô ng ty l ớ n để ki ể m tra t í nh h ợ p l ệ c ủ a s ố th ẻ tr ướ c khi ch ấ p nh ậ n th ẻ c ủ a ng ườ i d ù ng. ĐỪ ĐỪ ĐỪ ĐỪ NG NG NG NG BAO BAO BAO BAO GI GI GI GI Ờ Ờ Ờ Ờ TIN TIN TIN TIN T T T T ƯỞ ƯỞ ƯỞ ƯỞ NG NG NG NG M M M M Ộ Ộ Ộ Ộ T T T T THU THU THU THU Ậ Ậ Ậ Ậ T T T T TO TO TO TO Á Á Á Á N N N N 1. 1. 1. 1. B B B B ả ả ả ả o o o o m m m m ậ ậ ậ ậ t t t t c c c c ủ ủ ủ ủ a a a a l l l l ờ ờ ờ ờ i i i i g g g g ọ ọ ọ ọ i i i i h h h h ệ ệ ệ ệ th th th th ố ố ố ố ng ng ng ng M ỗ i khi b ạ n đư a d ữ li ệ u c ủ a ng ườ i d ù ng v à o l ờ i g ọ i h ệ th ố ng, b ạ n c ầ n t ỉ nh t á o ki ể m tra d ữ li ệ u đó . Đả m b ả o r ằ ng kh ô ng c ó g ì nguy hi ể m n ằ m trong d ữ li ệ u đó c ó th ể l ừ a ph ỉ nh h ệ th ố ng th ự c hi ệ n nh ữ ng l ệ nh kh ô ng mong mu ố n. PHP cung c ấ p m ộ t h à m l à m đ i ề u đó : EscapeShellCmd() B ấ t c ứ khi n à o b ạ n chuy ể n m ộ t l ệ nh c ó ch ứ a d ữ li ệ u nh ạ y c ả m, tr ố n tho á t d ữ li ệ u đó b ằ ng h à m EscapeShellCmd EscapeShellCmd EscapeShellCmd EscapeShellCmd (): Tr ố n tho á t (escaping) d ữ li ệ u c ó ngh ĩ a l à th ê m d ấ u s ổ ng ượ c (backslash \) tr ướ c k í t ự c ó th ể l ừ a ph ì nh h ệ th ố ng (ch í nh x á c l à c á c k í t ự #&;?'\"|*?~<>^()[]{}$\\\x0A\xFF ). M M M M ã ã ã ã HTML HTML HTML HTML < html > < head > < title >Name Lookup< /title > < /head > < body > < h1 >Name Lookup< /h1 > <?php if ($name) { system (EscapeShellCmd ("lookup $name")); print " nn"; } ?> < form action =" <[color=blue]?php print $PHP_SELF; ?>[/color] " method=" GET "> Enter a name to lookup: < input type =" text " name=" name "> < input type =" submit " value=" Lookup Name "> < /form > < /body > < /html > D ù EscapeShellCmd() l à m ộ t h à m t ố t để ki ể m tra l ệ nh, b ạ n v ẫ n n ê n th ử v à th ự c hi ệ n c á c ki ể m tra đặ c th ù ph ụ thu ộ c v à o lo ạ i d ữ li ệ u. H à m EscapeShellCmd() s ẽ kh ô ng ki ể m tra t í nh đú ng đắ n c ủ a d ữ li ệ u đượ c đệ tr ì nh, n ó s ẽ ch ỉ ng ă n c ả n ng ườ i d ù ng l à m c á c vi ệ c k h ô ng đượ c ph é p. 1.1. 1.1. 1.1. 1.1. Đ Đ Đ Đ i i i i xa xa xa xa h h h h ơ ơ ơ ơ n n n n m m m m ộ ộ ộ ộ t t t t b b b b ướ ướ ướ ướ c c c c Nh ư m ộ t quy lu ậ t, n ê n ki ể m tra c á c k í t ự đượ c ph é p h ơ n l à ki ể m c á c k í t ự kh ô ng đượ c ph é p . Th í d ụ , đả m b ả o r ằ ng $name ch ỉ ch ứ a c á c k í t ự ch ữ v à s ố (alphanumeric characters). B ằ ng c á ch n à y, r ấ t kh ó để khai th á c l ỗ h ổ ng trong h ệ th ố ng c ủ a b ạ n. 2. 2. 2. 2. Ki Ki Ki Ki ể ể ể ể m m m m tra tra tra tra đị đị đị đị a a a a ch ch ch ch ỉ ỉ ỉ ỉ e-mail e-mail e-mail e-mail M ộ t trong nh ữ ng h ì nh th ứ c ki ể m tra ph ổ bi ế n nh ấ t l à xem m ộ t đị a ch ỉ e-mail c ó h ợ p l ệ kh ô ng. M ấ y tay m ớ i v à o ngh ề s ẽ ch ỉ d ù ng c á c bi ể u th ứ c ch í nh quy (m à h ọ l ượ m đượ c trong PHP programming dynamic web for ewreybody 21 Fatal errors in programming with PHP – Collect from writ t ing of Sterling Hughes NGUYEN ANH KHOA – Class 27K0A – Department Of Information Technology 21 21 21 21 Dormitory 204.B5 18:20 PM April 7, 2006 1.2. 1.2. 1.2. 1.2. T T T T ạ ạ ạ ạ o o o o m m m m ộ ộ ộ ộ t t t t tr tr tr tr ì ì ì ì nh nh nh nh t t t t ự ự ự ự t t t t ê ê ê ê n n n n v v v v à à à à lu lu lu lu ô ô ô ô n n n n tu tu tu tu â â â â n n n n th th th th ủ ủ ủ ủ M ộ t trong nh ữ ng v ấ n đề ch í nh trong b ấ t c ứ m ộ t d ự á n l ớ n n à o l à s ự xung độ t v ề t ê n. C á c l ớ p c ó th ể ph â n đ o ạ n t ê n. Do đó , c á c l ớ p kh á c nhau c ó th ể :  Đượ c g á n m ộ t thu ộ c t í nh v ớ i t ê n gi ố ng nhau  Ch ứ a c á c ph ươ ng th ứ c v ớ i t ê n gi ố ng nhau Th í d ụ , l ớ p Phillips v à l ớ p Normal c ó th ể c ù ng c ó ph ươ ng th ứ c t ê n screwdriver. N ó i chung, tr ướ c khi b ắ t đầ u m ộ t d ự á n l ớ n n à o, b ạ n n ê n c ó m ộ t tr ì nh t ự t ê n cho m ọ i th ứ , c ụ th ể l à c á ch b ạ n t á ch c á c bi ế n to à n c ụ c ra c á c bi ế n th ô ng th ườ ng, c á ch đị nh ngh ĩ a h à m trong th ư vi ệ n v.v. 1.3. 1.3. 1.3. 1.3. Nh Nh Nh Nh ó ó ó ó m m m m c c c c á á á á c c c c ý ý ý ý ni ni ni ni ệ ệ ệ ệ m m m m chung chung chung chung v v v v à à à à o o o o m m m m ộ ộ ộ ộ t t t t t t t t ậ ậ ậ ậ p p p p tin tin tin tin Nh ó m c á c h à m API t ươ ng t ự v à o chung m ộ t t ậ p tin c ũ ng gi ố ng nh ư nh ó m c á c ph ươ ng th ứ c t ươ ng t ự v à o m ộ t l ớ p. C ố g ắ ng t ưở ng t ượ ng m ỗ i t ậ p tin b ạ n t ạ o l à m ộ t l ớ p, m ỗ i h à m trong đó l à m ộ t ph ươ ng th ứ c. B ằ ng c á ch n à y, c á c h à m c ủ a b ạ n s ẽ c ó đị nh ngh ĩ a v à c ấ u tr ú c s á ng s ủ a . Th í d ụ , b ạ n c ó th ể mu ố n nh ó m m ọ i h à m li ê n quan đế n truy c ậ p CSDL v à o m ộ t t ậ p tin DB.php. 2. 2. 2. 2. H H H H Đ Đ Đ Đ T, T, T, T, gi gi gi gi ố ố ố ố ng ng ng ng m m m m ọ ọ ọ ọ i i i i th th th th ứ ứ ứ ứ , , , , t t t t ố ố ố ố t t t t khi khi khi khi c c c c ó ó ó ó đ đ đ đ i i i i ề ề ề ề u u u u độ độ độ độ Để t ô i l à m s á ng t ỏ m ộ t vi ệ c. T ô i kh ô ng ph ả i đ ang c ố bi ệ n h ộ để b ạ n t ừ b ỏ h ẳ n H Đ T trong PHP. Đú ng ra, t ô i ch ỉ đ ang c ố c ả nh b á o b ạ n đừ ng n ê n d ù ng PHP nh ư Java hay C++, n ơ i m à H Đ T c ó th ể d ù ng tho ả i m á i. H ã y c ẩ n th ậ n đá nh gi á l ợ i v à h ạ i tr ướ c khi b ạ n d ù ng m ộ t ti ế p c ậ n H Đ T v ớ i PHP. 10. 10. 10. 10. D D D D ù ù ù ù ng ng ng ng nh nh nh nh ầ ầ ầ ầ m m m m Bi Bi Bi Bi ể ể ể ể u u u u th th th th ứ ứ ứ ứ c c c c Ch Ch Ch Ch í í í í nh nh nh nh quy quy quy quy Bi ể u th ứ c ch í nh quy (Regular expressions) l à c ô ng c ụ m ạ nh để t ì m v à t ổ ch ứ c d ữ li ệ u, nh ư l à ki ể m đị nh đị a ch ỉ e-mail ho ặ c ki ể m tra m ộ t URL. Tuy nhi ê n, n ó ch ậ m h ơ n c á c c ô ng c ụ c ủ a PHP trong m ộ t s ố t á c v ụ đơ n gi ả n. Th í d ụ , n ế u b ạ n mu ố n vi ế t hoa to à n b ộ m ô t chu ỗ i, m ộ t l í nh m ớ i c ủ a PHP c ó th ể l à m nh ư sau: <?php $URL = "http://www.php.net" ; $fp = @ fopen ( $URL , "r" ); if (! $fp ) { die ( "Cannot open website $URL!" ); } while ( $line = @ fgets ( $fp , 102 4 )) { $data .= $line ; } @ fclose ( $fp ) or warn ( "Cannot close website handle, $URL" ); $data = ereg_replace ( "[a-z]" , "[A-Z]" , $data ); print $data ; ?> Tuy nhi ê n, s ẽ ph í th ờ i gian khi b ạ n d ù ng h à m ereg_replace() (ch ậ m h ơ n) để l à m c ô ng vi ệ c m à strtoupper() (nhanh h ơ n) c ó th ể th ự c hi ệ n t ố t h ơ n. $data = strtoupper ( $data ); N ó i chung, b ạ n lu ô n c ố g ắ ng d ù ng c á c thay th ế đơ n gi ả n c ủ a bi ể u th ứ c ch í nh quy v ì n ó s ẽ l à m t ă ng kh á nhi ề u t ố c độ ch ươ ng tr ì nh. PHP programming dynamic web for ewreybody 21 Fatal errors in programming with PHP – Collect from writ t ing of Sterling Hughes NGUYEN ANH KHOA – Class 27K0A – Department Of Information Technology 7 7 7 7 Dormitory 204.B5 18:20 PM April 7, 2006 site.lib site.lib site.lib site.lib - ph ầ n ch ủ Nh ư b ạ n th ấ y trong th í d ụ tr ê n, t á ch bi ệ t kh á ch ch ủ l à m t ă ng t í nh d ễ đọ c trong ch ươ ng tr ì nh c ủ a b ạ n. M ộ t l ợ i í ch kh á c l à m ộ t khi b ạ n đã c ó c á c h à m API hi ể n th ị n ộ i dung, b ạ n c ó th ể để cho thi ế t k ế vi ê n tham gia thay đổ i b ố c ụ c m à kh ô ng c ầ n s ử a m ã ch ươ ng t r ì nh. 1.1. 1.1. 1.1. 1.1. L L L L ợ ợ ợ ợ i i i i í í í í ch ch ch ch c c c c ủ ủ ủ ủ a a a a h h h h à à à à m m m m API API API API  T ươ ng đố i s á ng s ủ a  Nhanh, h ầ u nh ư kh ô ng l ã ng ph í th ờ i gian (overhead) 1.2. 1.2. 1.2. 1.2. B B B B ấ ấ ấ ấ t t t t l l l l ợ ợ ợ ợ i i i i < td width =" 25% "> < ?php print_links (); ? > < /td > < td > < ?php print_body (); ? > < /td > < /tr > < /table > < /body > < /html > <?php $dbh = mysql_connect ( "localhost" , "khoa" , "pass" ) or die ( sprintf ( "Khong the ket noi den MySQL [%s]: %s" , mysql_errno (), mysql_error ())); @ mysql_select_db ( "MainSite" ) or die ( sprintf ( "Khong the chon CSDL![%s]: %s" , mysql_errno (), mysql_error ())); $sth = @ mysql_query ( "SELECT * FROM site" , $dbh ) or die ( sprintf ( "Khong the thuc hien truy van [%s]: %s" , mysql_errno (), mysql_error ())); $site_info = mysql_fetch_object ( $sth ); function print_header () { global $site_info ; print $site_info -> header ; } function print_body () { global $site_info ; print nl2br ( $site_info -> body ); } function print_links () { global $site_info ; $links = explode ( "\n" , $site_info -> links ); $names = explode ( "\n" , $site_info -> link_names ); for ( $i = 0 ; $i < count ( $links ); $i ++) { print " \t\t\t <a xhref= \" $links [ $i ]\" >$names [ $i ] </a> \n <br> \n " ; } } ?> PHP programming dynamic web for ewreybody 21 Fatal errors in programming with PHP – Collect from writ t ing of Sterling Hughes NGUYEN ANH KHOA – Class 27K0A – Department Of Information Technology 14 14 14 14 Dormitory 204.B5 18:20 PM April 7, 2006 1.4. 1.4. 1.4. 1.4. Khi Khi Khi Khi m m m m à à à à DBMS DBMS DBMS DBMS c c c c ủ ủ ủ ủ a a a a b b b b ạ ạ ạ ạ n n n n kh kh kh kh ô ô ô ô ng ng ng ng h h h h ỗ ỗ ỗ ỗ tr tr tr tr ợ ợ ợ ợ sql_num_row() sql_num_row() sql_num_row() sql_num_row() V à i DBMS c ó th ể kh ô ng h ỗ tr ợ h à m sql_num_row(). T ô i xin chia s ẻ v ớ i b ạ n n ế u DBMS c ủ a b ạ n l à m ộ t trong s ố đó . B ạ n s ẽ ph ả i t ì m trong k ế t qu ả r ỗ ng b ằ ng c á ch l ấ y d ò ng. Tuy nhi ê n, trong tr ườ ng h ợ p n à y, n ó n ê n d ù ng m ộ t bi ế n boolean nh ư sau: <?php $timthay = false ; while ( $mautin = sql_fetch_array ( $truyvan )){ $timthay = true ; } if (! $timthay ){ print "Loi!" ; } ?> 1.5. 1.5. 1.5. 1.5. L L L L ấ ấ ấ ấ y y y y k k k k ế ế ế ế t t t t qu qu qu qu ả ả ả ả : : : : h h h h ã ã ã ã y y y y ch ch ch ch ọ ọ ọ ọ n n n n c c c c á á á á ch ch ch ch c c c c ó ó ó ó í í í í ch ch ch ch V ấ n đề th ứ hai trong đ o ạ n m ã n à y l à n ó d ù ng sql_fetch_row() để l ấ y t ậ p k ế t qu ả . H à m sql_fetch_row() ch ỉ tr ả v ề m ả ng đá nh ch ỉ s ố , trong khi đó sql_fetch_array() tr ả v ề m ả ng đá nh ch ỉ s ố v à m ả ng d ù ng chu ỗ i. $mautin = sql_fetch_array ( $truyvan ); print $mautin [ 1 ]; // Cot thu 2 print $mautin [ name ]; // Ten cot Ch Ch Ch Ch ú ú ú ú ý ý ý ý : : : : C ó nhi ề u quy ướ c kh á c nhau v ề vi ệ c d ù ng d ấ u nh á y khi th ê m m ộ t đố i s ố ki ể u chu ỗ i. Trong th í d ụ v ề t ê n c ộ t ở tr ê n, v à su ố t b à i vi ế t n à y, n ó s ẽ đượ c b ỏ . T ừ quan đ i ể m c ủ a nh à ph á t tri ể n, h à m n à o c ó l ợ i h ơ n? M ả ng d ù ng chu ỗ i gi ú p cho ng ườ i đọ c hi ể u đượ c b ạ n đ ang l ấ y c á i g ì ch ỉ th ô ng qua vi ệ c đọ c m ã , nh ư th í d ụ đú ng d ướ i đâ y: <?php if ( sql_num_rows ( $truyvan )<= 0 ) { print "Mot loi da xay ra: Khong co mau tin nao!" ; exit; } while ( $mautin = sql_fetch_array ( $truyvan )) { print "$mautin[name]: $mautin[phone_number]\n<br>\n" ; } ?> 1.6. 1.6. 1.6. 1.6. Khi Khi Khi Khi n n n n à à à à o o o o sql_fetch_row($truyvan) sql_fetch_row($truyvan) sql_fetch_row($truyvan) sql_fetch_row($truyvan) n n n n ê ê ê ê n n n n đượ đượ đượ đượ c c c c d d d d ù ù ù ù ng ng ng ng T ô i kh ô ng th ự c s ự l à fan c ủ a the sql_fetch_row(). Tuy nhi ê n, c ó m ộ t t ì nh hu ố ng m à d ù ng n ó kh ô ng gi ả m kh ả n ă ng d ễ đọ c: khi ng ườ i d ù ng đị nh ngh ĩ a c â u truy v ấ n. C á c th í d ụ cho đế n l ú c n à y đề u đề c ậ p đế n nh ữ ng c â u truy v ấ n đượ c bi ế t tr ướ c. Đô i khi b ạ n để cho ng ườ i d ù ng t ự đị nh ngh ĩ a c â u truy v ấ n. Tr ườ ng h ợ p n à y b ạ n s ẽ kh ô ng bi ế t c á c c ộ t trong k ế t qu ả . Do đó , d ù ng h à m sql_fetch_row() k è m v ớ i count() s ẽ x ử l í hi ệ u qu ả c á c c ộ t trong m ộ t h à ng: <?php for ( $i = 0 ; $i < count ( $mautin ); $i ++){ print "Column" . ( $i + 1 ). $mautin [ $i ]. "\n<BR>\n" ; } ?> 2. 2. 2. 2. D D D D ù ù ù ù ng ng ng ng sai sai sai sai SQL: SQL: SQL: SQL: kh kh kh kh ô ô ô ô ng ng ng ng l l l l ấ ấ ấ ấ y y y y nh nh nh nh ữ ữ ữ ữ ng ng ng ng g g g g ì ì ì ì b b b b ạ ạ ạ ạ n n n n c c c c ầ ầ ầ ầ n n n n PHP programming dynamic web for ewreybody 21 Fatal errors in programming with PHP – Collect from writ t ing of Sterling Hughes NGUYEN ANH KHOA – Class 27K0A – Department Of Information Technology 11 11 11 11 Dormitory 204.B5 18:20 PM April 7, 2006 1.5. 1.5. 1.5. 1.5. Th Th Th Th ó ó ó ó i i i i quen quen quen quen x x x x ấ ấ ấ ấ u u u u D ướ i đâ y l à nh ữ ng th í d ụ (ph ó ng đạ i) v ề nh ữ ng t ê n bi ế n t ồ i $username_cua_csdl = 'SINHVIEN' ; $guMbi = 'bimat' ; // for the $password $tentruocdo_cua_giaovien = array ( 'Sadlon' , 'Lane' , 'Patterson' , 'Perry' , 'Sandler' , 'Mendick' , 'Zung' ); foreach ( $tentruocdo_cua_giaovien as $TeaChER ); 2. 2. 2. 2. Đặ Đặ Đặ Đặ t t t t t t t t ê ê ê ê n n n n h h h h à à à à m m m m M ọ i kh á i ni ệ m á p d ụ ng cho t ê n bi ế n c ũ ng á p d ụ ng cho đặ t t ê n h à m. Tuy nhi ê n, ng ữ ph á p đó ng vai tr ò đặ c bi ệ t trong c á c h à m. C á c h à m PHP, đị nh ngh ĩ a s ẵ n ho ặ c do ng ườ i d ù ng đị nh ngh ĩ a, l à kh ô ng-ph â n-bi ệ t-c á ch- vi ế t (not case sensitive) 2.1. 2.1. 2.1. 2.1. D D D D ù ù ù ù ng ng ng ng độ độ độ độ ng ng ng ng t t t t ừ ừ ừ ừ H à m c ủ a PHP t ươ ng đươ ng v ớ i m ộ t độ ng t ừ khi n ó i. T ê n h à m, do đó , n ê n đượ c h ướ ng h à nh độ ng (action oriented). N ó c ũ ng n ê n đượ c d ù ng ở th ì hi ệ n t ạ i. Th í d ụ , b ạ n c ó m ộ t h à m t ạ o m ộ t s ố ng ẫ u nhi ê n v ớ i ph â n b ố Gausse (a gaussian random number), b ạ n n ê n đặ t t ê n n ó l à generate_gaussian_rand(). Ch ú ý c á c s ử d ụ ng độ ng t ừ h à nh độ ng trong t ê n h à m. N ó s ẽ đặ t h à m v à o ng ữ c ả nh th í ch h ợ p <?php list ( $num1 , $num2 ) = generate_gaussian_rand (); list ( $num3 , $num4 ) = generate_gaussian_rand (); ?> Để so s á nh, h ã y xem th í d ụ : <?php list ( $num1 , $num2 ) = gaussian_rand_generator (); list ( $num1 , $num2 ) = gaussian_rand_generator (); ?> B ạ n c ó th ấ y s ự kh á c bi ệ t? Th í d ụ th ứ hai s ử d ụ ng danh t ừ , m ặ c d ù v ẫ n chuy ể n t ả i đượ c m ụ c ti ê u c ủ a h à m, nh ư ng n ó ng ă n ng ườ i ta đọ c m ộ t c á ch tr ô i ch ả y. H ã y s ử d ụ ng độ ng t ừ ! 13. 13. 13. 13. Kh Kh Kh Kh ô ô ô ô ng ng ng ng suy suy suy suy ngh ngh ngh ngh ĩ ĩ ĩ ĩ th th th th ấ ấ ấ ấ u u u u đá đá đá đá o: o: o: o: CSDL CSDL CSDL CSDL & & & & SQL SQL SQL SQL S ố c á ch ng ườ i ta truy c ậ p c ơ s ở d ữ li ệ u (CSDL - database) v à l ấ y k ế t qu ả nhi ề u đế n m ứ c th ự c s ự ng ạ c nhi ê n. Nh ữ ng th í d ụ t ô i đã g ặ p bao g ồ m nh ữ ng t ổ h ợ p l ệ nh if v à v ò ng l ặ p do ... Th í d ụ sau m ở t ậ p tin v à in t ừ ng d ò ng: Th í d ụ tr ê n s ẽ t ạ o l ỗ i: Warning: Warning: Warning: Warning: Supplied Supplied Supplied Supplied argument argument argument argument is is is is not not not not a a a a valid valid valid valid File-Handle File-Handle File-Handle File-Handle resource resource resource resource in in in in C:\Inetpub\wwwroot\tst.php C:\Inetpub\wwwroot\tst.php C:\Inetpub\wwwroot\tst.php C:\Inetpub\wwwroot\tst.php on on on on line line line line 4. 4. 4. 4. <? printf printf printf printf ( "%d occurrences of %s found." , count ( $truyvan ), $search_term ); ?> <? print print print print count ( $truyvan ) . "occurrences of $search_term found." ; ?> <? $fp = @ fopen ( 'vanban.txt' , 'r' ) or die ( 'Khong the mo file vanban.txt' ); while ( $line = @ fgets ( "$fp" , 102 4 )) // Loi { print $line ; } @ fclose ( "$fp" ) // Loi or die ( 'Khong the dong vanban.txt' ); ?> PHP programming dynamic web for ewreybody 21 Fatal errors in programming with PHP – Collect from writ t ing of Sterling Hughes NGUYEN ANH KHOA – Class 27K0A – Department Of Information Technology 15 15 15 15 Dormitory 204.B5 18:20 PM April 7, 2006 Nh ư l à v ấ n đề c ủ a th ự c h à nh, đơ n gi ả n l à s ẽ sai l ầ m khi d ù ng PHP x ử l í m ọ i d ò ng c ủ a CSDL. T ô i đã b ắ t g ặ p ng ườ i ta d ù ng PHP để ch ạ y m ộ t ch ươ ng tr ì nh t ì m ki ế m đơ n gi ả n tr ê n 2MB d ữ li ệ u v à t ự h ỏ i t ạ i sao c á i ng ô n ng ữ n à y ch ạ y l â u th ế . L ấ y 2MB d ữ li ệ u t ừ CSDL c ó th ể l à m b ạ n ch ờ m ã i m ã i. Ng ô n ng ữ truy v ấ n chu ẩ n ( Standard Standard Standard Standard Query Query Query Query Language Language Language Language - - - - SQL SQL SQL SQL ) đượ c thi ế t k ế đặ c bi ệ t để truy v ấ n v à l ấ y d ữ li ệ u t ừ c á c b ả ng c ủ a b ạ n. Ý t ưở ng l à d ù ng n ó để l ọ c d ữ li ệ u kh ô ng c ầ n thi ế t, để l ạ i c á c th ô ng tin li ê n quan cho PHP x ử l í . N ế u b ạ n l ấ y nhi ề u d ữ li ệ u h ơ n c ầ n thi ế t, đó l à d ấ u hi ệ u ch ắ c ch ắ n r ằ ng m ã SQL đ ang d ù ng ch ư a đượ c t ố i ư u ho á . 2.1. 2.1. 2.1. 2.1. M M M M ệ ệ ệ ệ nh nh nh nh đề đề đề đề WHERE WHERE WHERE WHERE M ộ t th í d ụ kinh đ i ể n v ề s ự hi ể u qu ả c ủ a SQL li ê n quan đế n m ệ nh đề where. Đ o ạ n m ã sau s ẽ l ấ y c á c k ế t qu ả v à in ra t ê n v à m ã sinh vi ê n c ủ a sinh vi ê n c ó MASV='511203008' : <?php include ( “ includes/taptinketnoi.inc ” ) ; $strsql = "SELECT MASV, HOTEN FROM SINHVIEN" ; $truyvan = @ sql_query ( $strsql , $ketnoi ); if (! $truyvan ) { die ( sprintf ( "LOI: [%d]: %s" , sql_errno (), sql_error ())); } if (@ sql_num_rows ( $truyvan ) <= 0 ) { die ( "Khong ket qua tim duoc tu CSDL!" ); } while ( $mautin = @ sql_fetch_array ( $truyvan )){ if ( $mautin [ MASV ] == “ 511203008 ” ) { print "MASV: $mautin[MASV]\n<br>\n" ; print "Ho ten: $mautin[HOTEN]\n<br>\n" ; break; } } ?> Đ o ạ n m ã tr ê n ch ư a đượ c t ố i ư u: ch ú ng ta đ ang d ù ng PHP để t ì m ki ế m trong to à n b ộ CSDL! N ế u nh ư đ i ề u n à y kh ô ng quan tr ọ ng đố i v ớ i c á c CSDL nh ỏ , khi k í ch th ướ c CSDL t ă ng l ê n b ạ n s ẽ c ả m th ấ y m ộ t c ú đấ m n ặ ng n ề v ề hi ệ u n ă ng. L ờ i gi ả i r ấ t đơ n gi ả n: s ử a c â u SQL để ch ứ a m ệ nh đề WHERE: $strsql = "SELECT * FROM SINHVIEN" ; $strsql .= " WHERE MASV='511203008'" ; PHP programming dynamic web for ewreybody 21 Fatal errors in programming with PHP – Collect from writ t ing of Sterling Hughes NGUYEN ANH KHOA – Class 27K0A – Department Of Information Technology 1 1 1 1 Dormitory 204.B5 18:20 PM April 7, 2006 à i vi ế t n à y d à nh cho nh ữ ng l ậ p tr ì nh vi ê n PHP quan t â m đế n vi ệ c tr á nh nh ữ ng l ỗ i th ườ ng g ặ p khi s ử d ụ ng PHP. Ng ườ i đọ c ph ả i bi ế t c á c c ú ph á p c ủ a PHP, v à n ê n bi ế t c ô ng d ụ ng c ủ a c á c h à m trong PHP. M ộ t trong nh ữ ng đ i ể m m ạ nh nh ấ t c ủ a PHP v ô t ì nh tr ở th à nh m ộ t trong nh ữ ng đ i ể m y ế u nh ấ t c ủ a n ó : t t t t í í í í nh nh nh nh d d d d ễ ễ ễ ễ s s s s ử ử ử ử d d d d ụ ụ ụ ụ ng ng ng ng . Nhi ế u ng ườ i ch ọ n PHP v ì t í nh d ễ s ử d ụ ng, đã kh ô ng nh ậ n ra r ằ ng: s ử d ụ ng đú ng PHP PHP PHP PHP c c c c ò ò ò ò n n n n kh kh kh kh ó ó ó ó h h h h ơ ơ ơ ơ n n n n c c c c á á á á c c c c ng ng ng ng ô ô ô ô n n n n ng ng ng ng ữ ữ ữ ữ kh kh kh kh á á á á c c c c . Trong lo ạ t b à i n à y s ẽ l ầ n l ượ t n ê u ra 21 l ỗ i, t ừ nh ữ ng sai l ầ m gi á o khoa (l à m script tr ở n ê n ch ậ m v à kh ó qu ả n l í ) đế n nh ữ ng sai l ầ m ch ế t ng ườ i - c ó th ể xem l à ngu ồ n g ố c c ủ a nh ữ ng sai l ầ m s ơ đẳ ng. PH Ầ N 1: 7 L Ỗ I GI Á O KHOA    21. 21. 21. 21. S S S S ử ử ử ử d d d d ụ ụ ụ ụ ng ng ng ng printf() printf() printf() printf() kh kh kh kh ô ô ô ô ng ng ng ng th th th th í í í í ch ch ch ch h h h h ợ ợ ợ ợ p p p p H à m printf() d ù ng để in d ữ li ệ u c ó đị nh d ạ ng N ó c ó th ể đượ c d ù ng, th í d ụ , khi b ạ n m ộ t in m ộ t s ố ki ể u double v ớ i 2 s ố l ẻ , ho ặ c trong b ấ t k ì t ì nh hu ố ng n à o b ạ n mu ố n thay đổ i đị nh d ạ ng tr ướ c khi in. Th í d ụ d ướ i đâ y minh ho ạ c á ch d ù ng đú ng c ủ a printf(): đị nh d ạ ng s ố Pi v ớ i độ ch í nh x á c theo ý mu ố n M M M M ã ã ã ã l l l l ệ ệ ệ ệ nh nh nh nh (PHP) <? /* The three faces of Π */ printf ( "Pi is: %.2f\n<br>\n" , M_PI ); printf ( "Pi is also: %.3f\n<br>\n" , M_PI ); printf ( "Pi is also: %.4f\n<br>\n" , M_PI ); ?> Ch Ch Ch Ch ú ú ú ú ý ý ý ý . . . . T ô i đã t ừ ng g ặ p nh ữ ng ng ườ i s ợ d ù ng printf(), thay v à o đó l ạ i d ù ng nh ữ ng h à m đị nh d ạ ng t ự vi ế t, d à i đế n 30- 40 d ò ng, trong đ i m ộ t c â u printf() c ó th ể l à m m ọ i th ứ anh ta mong mu ố n. Nhi ế u l ậ p tr ì nh vi ê n d ù ng sai printf(): in c á c bi ế n, c á c gi á tr ị tr ả v ề c ủ a h à m ho ặ c th ỉ nh tho ả ng, ch ỉ l à d ữ li ệ u th ô ng th ườ ng. Th ườ ng x ả y ra trong hai t ì nh hu ố ng:  C â u l ệ nh print() th í ch h ợ p h ơ n  Hi ể n th ị gi á tr ị tr ả v ề c ủ a m ộ t h à m 1. 1. 1. 1. Khi Khi Khi Khi n n n n à à à à o o o o print() print() print() print() th th th th í í í í ch ch ch ch h h h h ợ ợ ợ ợ p p p p h h h h ơ ơ ơ ơ n? n? n? n? C á c l ậ p tr ì nh vi ê n th ườ ng s ử d ụ ng printf() trong khi ch ỉ print() l à đủ . X é t th í d ụ sau: <? $name = 'Nguyen Anh Khoa' ; $nghenghiep = 'Sinh vien' ; $diachi = 'Phong 204.B5 – KTX – DHSP Dong Thap' ; $email = 'khoa_computer2004@yahoo.com' ; printf ( "Ten cua tui la: %s\n<br>\n Hien dang la: %s, %s\n<br>\n Lien he voi toi qua Email: %s\n<br>\n" , $name , $nghenghiep , $diachi , $email ); ?> H à m print() print() print() print() c ó th ể d ù ng thay cho printf() nh ư sau: B PHP programming dynamic web for ewreybody 21 Fatal errors in programming with PHP – Collect from writ t ing of Sterling Hughes NGUYEN ANH KHOA – Class 27K0A – Department Of Information Technology 6 6 6 6 Dormitory 204.B5 18:20 PM April 7, 2006 L ạ i c ó m ộ t s ố ng ườ i c ố g ắ ng vi ế t l ạ i c á c h à m PHP th ô ng d ụ ng thay v ì đ i h ọ c v ề h à m đó trong c á c t à i li ệ u PHP cung c ấ p. C ó í t nh ấ t 2 l í do để kh ô ng n ê n l à m đ i ề u n à y. Th ứ nh ấ t, v à tr ê n nh ấ t, n ó l à m cho nh ữ ng ng ườ i đọ c (v à s ử a) ch ươ ng tr ì nh c ủ a b ạ n kh ó hi ể u v à c ả m th ấ y c ó qu á nhi ề u h à m d ư th ừ a. H ọ t ự h ỏ i t ạ i sao b ạ n l ạ i đ i đị nh ngh ĩ a h à m theo ki ể u đó , thay v ì s ử d ụ ng c á c h à m đị nh ngh ĩ a s ẵ n b ở i PHP. Th ứ hai, đị nh ngh ĩ a h à m nh ư v ậ y c ũ ng s ẽ l à m ch ậ m ch ươ ng tr ì nh c ủ a b ạ n (m ộ t c á ch kh ô ng c ầ n thi ế t). Kh ô ng ch ỉ ph ả i x ử l í nhi ề u m ã h ơ n, m à m ỗ i l ầ n g ọ i h à m do b ạ n đị nh ngh ĩ a, b ạ n đã t ố n th ờ i gian cho ch í nh h à m đó , tr ướ c khi h à m nguy ê n thu ỷ đượ c g ọ i. 1. 1. 1. 1. Tr Tr Tr Tr á á á á nh nh nh nh vi vi vi vi ế ế ế ế t t t t l l l l ạ ạ ạ ạ i i i i c c c c á á á á c c c c h h h h à à à à m m m m c c c c ó ó ó ó s s s s ẵ ẵ ẵ ẵ n n n n H ã y đươ ng đầ u v ớ i n ó . Đô i khi th ậ t l à kh ó để tr á nh chuy ệ n n à y. Tr ướ c ti ê n, m ộ t l ậ p tr ì nh vi ê n kh ô ng th ể theo k ị p c á c h à m c ủ a PHP ngay đượ c. V à ai c ó th ờ i gian m à tra c ứ u. T ạ i sao kh ô ng vi ế t l ạ i cho kho ẻ ? C á ch l à m c ủ a t ô i l à lu ô n c ó s ẵ n m ộ t t à i li ệ u ch ỉ d ẫ n PHP ( PHP manual ) m ỗ i khi vi ế t ch ươ ng tr ì nh (t á c gi ả b à i n à y d ù ng m ộ t b ả n PDF c ó t ạ o ch ỉ m ụ c, ri ê ng t ô i, ng ườ i d ị ch, th ì d ù ng m ộ t t à i li ệ u CHM đầ y đủ th ô ng tin v à c ó c ả g ó p ý c ủ a ng ườ i s ử d ụ ng m à b ạ n c ó th ể l ấ y ở http://www.php.net/docs.php) . Sau đó , m ỗ i khi đị nh vi ế t m ộ t h à m m ở r ộ ng cho PHP, t ô i đọ c l ướ t qua t à i li ệ u để xem h à m đó c ó ch ư a. Tuy nhi ê n, c ầ n ch ú ý l à , do b ả n ch ấ t m ã ngu ồ n m ở c ủ a PHP, b ạ n c ó th ể t ì m đượ c c á c h à m do ng ườ i d ù ng đị nh ngh ĩ a tr ướ c khi n ó đượ c th ê m v à o PHP (th í d ụ nh ư h à m t ì m ph ầ n t ử kh á c nhau gi ữ a hai m ả ng). Đ i ề u n à y kh ô ng c ó ngh ĩ a l à b ạ n ph ả i hi ệ u ch ỉ nh l ạ i m ã (This doesn't necessarily mean that you should have to correct the code. - don't understand) 16. 16. 16. 16. Kh Kh Kh Kh ô ô ô ô ng ng ng ng t t t t á á á á ch ch ch ch bi bi bi bi ệ ệ ệ ệ t t t t ph ph ph ph ầ ầ ầ ầ n n n n server server server server v v v v à à à à client client client client V à i l ậ p tr ì nh vi ê n c ố k ế t n ố i c ả ch ươ ng tr ì nh v ớ i nhau, ngh ĩ a l à gh é p chung m ã HTML (client-side - ph ầ n kh á ch) v ớ i m ã PHP (server-side - ph ầ n ch ủ ) v à o trong m ộ t t ậ p tin l ớ n. M ặ c d ù đ i ề u n à y t ố t cho c á c site nh ỏ , nh ư ng n ó c ó th ể tr ở th à nh v ấ n đề l ớ n khi c á c site đó tr ở n ê n l ớ n h ơ n v à đượ c b ổ sung th ê m t í nh n ă ng. L ậ p tr ì nh theo c á ch n à y l à m n ả y sinh v ấ n đề kh ó b ả o tr ì v à c á c t ậ p tin tr ở n ê n c ồ ng k ề nh. 1. 1. 1. 1. H H H H à à à à m m m m API API API API Khi mu ố n t á ch bi ệ t ph ầ n kh á ch - ch ủ , b ạ n c ó v à i l ự a ch ọ n. M ộ t c á ch l à vi ế t nh ữ ng h à m hi ể n th ị n ộ i dung linh độ ng v à đặ t ch ú ng đú ng ch ỗ trong trang web. Th í d ụ d ướ i đâ y minh ho ạ đ i ề u n à y: index.php index.php index.php index.php - ph ầ n kh á ch return strlen ( $str ); } ?> HTML HTML HTML HTML < ?php include_once ("site.lib"); ?> < html > < head > < title > <?php print_header (); ?> < /title > < /head > < body > < h1 > < ?php print_header (); ? > < /h1 > < table border =" 0 " cellpadding=" 0 " cellspacing=" 0 "> < tr > PHP programming dynamic web for ewreybody 21 Fatal errors in programming with PHP – Collect from writ t ing of Sterling Hughes NGUYEN ANH KHOA – Class 27K0A – Department Of Information Technology 23 23 23 23 Dormitory 204.B5 18:20 PM April 7, 2006 Kh Kh Kh Kh ô ô ô ô ng ng ng ng d d d d ù ù ù ù ng ng ng ng c c c c á á á á c c c c h h h h à à à à m m m m s s s s ẵ ẵ ẵ ẵ n n n n c c c c ó ó ó ó Nhi ề u l ậ p tr ì nh vi ê n PHP c ó n ề n t ả ng C c ó v ẻ kh ô ng nh ậ n ra r ằ ng PHP cung c ấ p nhi ề u h à m s ẵ n c ó gi ú p thay th ế c á c đ o ạ n m ã d à i. N ế u b ạ n đế n v ớ i PHP t ừ C, t ô i khuy ê n b ạ n n ê n đọ c qua t à i li ệ u tr ướ c khi vi ế t m ộ t kh ố i l ệ nh để xem PHP c ó s ẵ n h à m n à o gi ú p cu ộ c s ố n g c ủ a b ạ n d ễ d à ng h ơ n kh ô ng. Đổ Đổ Đổ Đổ i i i i t t t t ê ê ê ê n n n n c c c c á á á á c c c c h h h h à à à à m m m m PHP PHP PHP PHP đã đã đã đã c c c c ó ó ó ó T ô i đã th ấ y ng ườ i ta đổ i t ê n c á c h à m đã c ó c ủ a PHP ch ỉ để gi ú p h ọ d ễ nh ớ h ơ n. Đ i ề u n à y kh ô ng ch ỉ l à m ch ậ m ch ươ ng tr ì nh, m à l à m cho đ o ạ n m ã kh ó đọ c h ơ n. D D D D ù ù ù ù ng ng ng ng h h h h ướ ướ ướ ướ ng ng ng ng đố đố đố đố i i i i t t t t ượ ượ ượ ượ ng ng ng ng qu qu qu qu á á á á m m m m ứ ứ ứ ứ c c c c PHP kh ô ng ph ả i l à m ộ t ng ô n ng ữ H Đ T, d ù n ó cung c ấ p c á c t í nh n ă ng H Đ T. B ạ n c ầ n lu ô n nh ậ n th ứ c r ằ ng H Đ T trong PHP s ẽ l à m ch ậ m đá ng k ể ch ươ ng tr ì nh. 1. 1. 1. 1. L L L L ấ ấ ấ ấ y y y y th th th th ô ô ô ô ng ng ng ng tin tin tin tin ở ở ở ở đâ đâ đâ đâ u? u? u? u? May m ắ n l à c ó r ấ t nhi ề u th ô ng tin v ề vi ệ c l à m th ế n à o để l ậ p tr ì nh PHP. V à i n ơ i t ố t nh ấ t l à  Zend.com b ả n g ố c c ủ a b à i vi ế t n à y l à ở đó  Professional PHP m ộ t trong nh ữ ng s á ch to à n di ệ n t ố t nh ấ t v ề PHP, t ố t cho c ả l ậ p tr ì nh vi ê n v à kh ô ng-l ậ p tr ì nh vi ê n.  Web Application Development with PHP M ộ t quy ể n s á ch tuy ệ t v ờ i d ạ y b ạ n c ả c á ch ph á t tri ể n web l ẫ n v à i t í nh n ă ng cao c ấ p c ủ a PHP. Bao g ồ m c á c t à i li ệ u ch í nh th ứ c v ề Zend API.  The PHP Developer's Cookbook M ộ t quy ể n s á ch thi ê n v ề l ờ i gi ả i đá p cho c á c v ấ n đề g ặ p ph ả i trong PHP (do tui - Sterling Hughes - vi ế t c ù ng Andrei Zmievski) 8. 8. 8. 8. Kh Kh Kh Kh ô ô ô ô ng ng ng ng nh nh nh nh ậ ậ ậ ậ n n n n th th th th ứ ứ ứ ứ c c c c đầ đầ đầ đầ y y y y đủ đủ đủ đủ v v v v ề ề ề ề b b b b ả ả ả ả o o o o m m m m ậ ậ ậ ậ t t t t Nh ữ ng ng ườ i d ù ng kh ô ng ph ả i l ú c n à o c ũ ng l à m vi ệ c v ớ i h ệ th ố ng c ủ a ch ú ng ta. V ớ i t ư c á ch l à l ậ p tr ì nh vi ê n, tr á ch nhi ệ m c ủ a ch ú ng ta l à thi ế t k ế m ộ t h ệ th ố ng an to à n, d ễ ch ị u c ó th ể l à m vi ệ c đượ c chung v ớ i l ỗ i c ủ a ng ườ i d ù ng. Khi thi ế t k ế h ệ th ố ng, b ạ n ph ả i đặ t m ì nh v à o v ị tr í ng ườ i d ù ng. Xem x é t nh ữ ng ch ỗ h ọ c ó th ể g ặ p l ỗ i v à t ì m ki ế m nh ữ ng l ỗ h ổ ng b ả o m ậ t ti ề m t à ng. R ồ i b ạ n thi ế t k ế ch ươ ng tr ì nh c ó kh ả n ă ng s ử a ch ữ a l ỗ i n à y v à l ấ p c á c l ỗ h ổ ng b ả o m ậ t. M ộ t đ i ề u kh á c c ũ ng quan tr ọ ng l à : d ù x ả y ra h ư h ỏ ng hay h ệ th ố ng b ị t ấ n c ô ng l à do l ỗ i c ủ a ng ườ i d ù ng, ch í nh b ạ n l à ng ườ i ch ị u tr á ch nhi ệ m n ế u b ạ n đã vi ế t ch ươ ng tr ì nh c ó nhi ề u l ỗ i hay thi ế u nh ữ ng b ướ c ki ể m tra c ầ n thi ế t d ẫ n đế n h ỏ ng d ữ li ệ u. Th í d ụ , t ô i đã th ấ y nhi ề u ch ươ ng tr ì nh kh ô ng d ù ng h à m đã c ó c ủ a PHP mail() v ố n an to à n m à l ạ i đ i d ù ng sendmail th ô ng qua popen() . N ó c ó th ể d ẫ n đế n nhi ề u l ỗ h ổ ng b ả o m ậ t (th í d ụ nh ư /etc/passwd đượ c g ử i đế n ng ườ i d ù ng cu ố i). C ó v à i n ơ i th ườ ng x ả y ra c á c s ự c ố v ề b ả o m ậ t, ho ặ c ti ề m n ă ng g â y ra h ỏ ng d ữ li ệ u r ấ t l ớ n:  Th ự c hi ệ n l ờ i g ọ i h ệ th ố ng. T ô i kh ô ng c ó c á ch n à o di ễ n t ả đượ c m ứ c độ nguy hi ể m c ủ a v ấ n đề n à y. Lu ô n đả m b ả o r ằ ng m ọ i d ữ li ệ u ng ườ i d ù ng đư a v à o l à an to à n tr ướ c khi chuy ể n n ó cho m ộ t l ờ i g ọ i h ệ th ố ng. ĐỪ ĐỪ ĐỪ ĐỪ NG NG NG NG BAO BAO BAO BAO GI GI GI GI Ờ Ờ Ờ Ờ TIN TIN TIN TIN NG NG NG NG ƯỜ ƯỜ ƯỜ ƯỜ I I I I D D D D Ù Ù Ù Ù NG NG NG NG M M M M Ộ Ộ Ộ Ộ T T T T C C C C Á Á Á Á CH CH CH CH M M M M Ù Ù Ù Ù QU QU QU QU Á Á Á Á NG NG NG NG KHI KHI KHI KHI ĐƯ ĐƯ ĐƯ ĐƯ A A A A D D D D Ữ Ữ Ữ Ữ LI LI LI LI Ệ Ệ Ệ Ệ U U U U C C C C Ủ Ủ Ủ Ủ A A A A H H H H Ọ Ọ Ọ Ọ V V V V À À À À O O O O L L L L Ờ Ờ Ờ Ờ I I I I G G G G Ọ Ọ Ọ Ọ I I I I H H H H Ệ Ệ Ệ Ệ TH TH TH TH Ố Ố Ố Ố NG NG NG NG M M M M À À À À KH KH KH KH Ô Ô Ô Ô NG NG NG NG KI KI KI KI Ể Ể Ể Ể M M M M TRA TRA TRA TRA TR TR TR TR ƯỚ ƯỚ ƯỚ ƯỚ C C C C .  Khi đă ng k í ng ườ i d ù ng. N ế u b ạ n tr ô ng mong c ó k ế t qu ả ch í nh x á c, lu ô n ki ể m tra v à đả m b ả o b ả n đă ng k í đượ c ki ể m tra nh ữ ng ch ỗ c ầ n thi ế t. Tr ướ c ti ê n, c ó nhi ề u c á ch để ki ể m tra m ộ t đị a ch ỉ e-mail h ợ p l ệ . H ơ n n ữ a, b ạ n n ê n ki ể m tra tu ổ i c ủ a ng ườ i d ù ng c ó n ằ m trong ph ạ m vi th í ch h ợ p kh ô ng. V ớ i m ộ t s ự suy r ộ ng, b ạ n c ó PHP programming dynamic web for ewreybody 21 Fatal errors in programming with PHP – Collect from writ t ing of Sterling Hughes NGUYEN ANH KHOA – Class 27K0A – Department Of Information Technology 12 12 12 12 Dormitory 204.B5 18:20 PM April 7, 2006 S ự l ấ y m ẫ u kh ô ng ch í nh x á c l à m ộ t th í d ụ hay v ề v ấ n đề n à y. V à i ng ườ i vi ế t l ệ nh kh ô ng d à nh th ờ i gian để ngh ĩ th ấ u đá o. Đú ng l à kh ô ng ch ỉ c ó duy nh ấ t m ộ t c á ch “đú ng ” để l ấ y m ẫ u d ữ li ệ u, nh ư ng n ó c ó r ấ t nhi ề u c á ch kh ô ng đú ng. Ph ầ n n à y bao g ồ m c á c ch ủ đề :  Á p d ụ ng sai c á c h à m v ề CSDL  D ù ng sai SQL: kh ô ng l ấ y nh ữ ng th ứ b ạ n c ầ n  D ù ng PHP để s ắ p x ế p k ế t qu ả 1. 1. 1. 1. D D D D ù ù ù ù ng ng ng ng sai sai sai sai c c c c á á á á c c c c h h h h à à à à m m m m CSDL CSDL CSDL CSDL M ộ t đ o ạ n m ã PHP đã d ù ng c ú ph á p sau để l ấ y k ế t qu ả t ừ CSDL (presented below using a generalized set of SQL functions): if (!( $mautin = sql_fetch_row ( $truyvan ))) { print "Mot loi xay ra: Khong tim thay mau tin nao!" ; exit; } do { print "$mautin[0]: $mautin[1]\n<br>\n" ; } while ( $mautin = sql_fetch_row ( $truyvan )); Ch Ch Ch Ch ú ú ú ú ý ý ý ý : : : : Ở tr ê n, v à c á c th í d ụ sau n ữ a, $truyvan di ễ n t ả handle ho ặ c pointer đế n m ộ t t ậ p k ế t qu ả truy v ấ n ... endControlStructure endControlStructure endControlStructure endControlStructure ; HTML HTML HTML HTML < html > < head > < title >%%PAGE_TITLE%%< /title > < /head > < body %%BODY_PROPERTIES%% > < h1 >%%PAGE_TITLE%%< /h1 > < table border =" 0 " cellpadding=" 0 " cellspacing=" 0 "> < tr > < td width =" 25% ">%%PAGE_LINKS%%< /td > < td >%%PAGE_CONTENT%%< /td > < /tr > < /table > < /body > < /html > <? PHP programming dynamic web for ewreybody 21 Fatal errors in programming with PHP – Collect from writ t ing of Sterling Hughes NGUYEN ANH KHOA – Class 27K0A – Department Of Information Technology 2 2 2 2 Dormitory 204.B5 18:20 PM April 7, 2006 print print print print "Ten cua tui la: $name \n \n \n \n <br> \n \n \n \n Hien dang la: $nghenghiep, $diachi \n \n \n \n <br> \n \n \n \n Lien he voi toi qua Email: $email \n \n \n \n <br> \n \n \n \n " ; ; ; ; Khi kh ô ng c ầ n đị nh d ạ ng s ử li ệ u, d ù ng print() thay cho printf() c ó nh ữ ng l ợ i í ch sau:  Thi Thi Thi Thi h h h h à à à à nh nh nh nh nhanh nhanh nhanh nhanh h h h h ơ ơ ơ ơ n: n: n: n: h à m printf() đị nh d ạ ng d ữ li ệ u c ủ a b ạ n tr ướ c khi hi ể n th ị , n ó s ẽ ch ậ m h ơ n print() ho ặ c echo()  M M M M ã ã ã ã s s s s á á á á ng ng ng ng s s s s ủ ủ ủ ủ a: a: a: a: h ã y xem, d ù ng h à m printf() s ẽ l à m cho ng ườ i đọ c h ơ i b ị l ẫ n l ộ n (t ấ t nhi ê n tr ừ khi h ọ c ó n ề n t ả ng C). N ó đò i h ỏ i ki ế n th ứ c v ề c ú ph á p printf() (th í d ụ , %s thay cho chu ỗ i c ò n %d l à s ố ) v à v ề ki ể u bi ế n 2. 2. 2. 2. D D D D ù ù ù ù ng ng ng ng printf() printf() printf() printf() để để để để xu xu xu xu ấ ấ ấ ấ t t t t d d d d ữ ữ ữ ữ li li li li ệ ệ ệ ệ u u u u tr tr tr tr ả ả ả ả v v v v ề ề ề ề t t t t ừ ừ ừ ừ g g g g ọ ọ ọ ọ i i i i h h h h à à à à m m m m M ộ t l ỗ i th ườ ng g ặ p kh á c l à d ù n printf() để xu ấ t d ữ li ệ u tr ả v ề t ừ g ọ i h à m, th í d ụ nh ư h à m đế m d ướ i đâ y: Khi xu ấ t gi á tr ị do h à m tr ả v ề , to á n t ử . n ê n d ù ng để n ố i trong print(), nh ư d ướ i đâ y: D ù ng to á n t ử . nhanh h ơ n vi ệ c d ù ng printf() 20. 20. 20. 20. Á Á Á Á p p p p d d d d ụ ụ ụ ụ ng ng ng ng sai sai sai sai ng ng ng ng ữ ữ ữ ữ ngh ngh ngh ngh ĩ ĩ ĩ ĩ a a a a (semantics) (semantics) (semantics) (semantics) Nhi ề u l ậ p tr ì nh vi ê n s ử d ụ ng PHP m à kh ô ng bi ế t đế n nh ữ ng đ i ể m tinh t ế c ủ a ng ô n ng ữ n à y. M ộ t trong nh ữ ng đ i ể m đó l à s ự kh á c nhau gi ữ a c ú ph á p (syntax) v à ng ữ ngh ĩ a (semantics).  C C C C ú ú ú ú ph ph ph ph á á á á p: p: p: p: nh ữ ng quy t ắ c đị nh ngh ĩ a m ộ t ph ầ n t ử . Th í d ụ : d ấ u $ để tr ướ c d ù ng đị nh ngh ĩ a bi ế n, d ù ng d ấ u () v à c á c tham s ố đị nh ngh ĩ a m ộ t h à m...
  • 27
  • 636
  • 2
Bốn sai lầm lớn nhất trong tiếp thị trực tiếp

Bốn sai lầm lớn nhất trong tiếp thị trực tiếp

Ngày tải lên : 07/11/2013, 19:15
... sai lầm lớn nhất trong tiếp thị trực tiếp Theo Lee Marc Stein - một chuyên gia tư vấn trong lĩnh vực tiếp thị trực tiếp và viết quảng cáo nổi tiếng trên thế giới với nhiều năm kinh nghiệm trong ... động tiếp thị trực tiếp. Đã vậy, một số doanh nghiệp lại phạm phải một sai lầm lớn là không thử nghiệm một chương trình tiếp thị trực tiếp một cách thích đáng. Nếu gửi đi một danh sách tiếp thị ... chiến thuật tiếp thị - khi xây dựng các chương trình tiếp thị trực tiếp, các doanh nghiệp thường mắc phải bốn sai lầm lớn sau đây 1. Không vượt qua được sự hoài nghi và sức ì của người tiêu...
  • 3
  • 483
  • 2
Tài liệu 10 sai lầm “chết người” của nhân viên bán hàng ppt

Tài liệu 10 sai lầm “chết người” của nhân viên bán hàng ppt

Ngày tải lên : 14/12/2013, 22:15
... không phải. Dưới đây là những sai lầm chết người mà một nhân viên bán hàng có thể mắc phải. Sai lầm 1: Thiếu hình ảnh chuyên nghiệp Nếu bạn muốn người khác lắng nghe bạn và chú ý ... thời gian tìm hiểu và gần gũi khách hàng để biết nhu cầu và mong muốn của đối tác. 10 sai lầm chết người của nhân viên bán hàng Bất cứ một công việc nào cũng có quy tắc của nó. Đến như ... xét mối quan tâm của họ và thỏa mãn chúng. Sai lầm 3: Lạm dụng thuật ngữ Từ ngữ tạo ra hình ảnh trong trí óc con người. Có một số từ ngữ trong kinh doanh hoặc gây phản cảm hoặc quá mơ...
  • 5
  • 981
  • 20
Tài liệu 7 sai lầm chết người trong đầu tư ppt

Tài liệu 7 sai lầm chết người trong đầu tư ppt

Ngày tải lên : 24/12/2013, 13:16
... của bạn. 7 sai lầm chết người trong đầu tư Hầu hết các nhà đầu tư đều phải lãnh hậu quả do đặt niềm tin sai lầm vào con đường dẫn đến những thương vụ thành công. Có 7 sai lầm thường gặp ... được gọi là sai lầm chết người trong lĩnh vực đầu tư. Trên con đường thành công của các nhà đầu tư bậc thầy như Warren Buffett và George Soros không bao giờ xuất hiện những sai lầm này. Nếu ... niên 1990: “Lợi nhuận (trong việc đầu tư vào các công ty thương mại điện tử) không còn là vấn đề chính yếu nữa”. Đây là một biến thể từ sai lầm chết người thứ nhất trong hoạt động đầu tư,...
  • 13
  • 517
  • 0
Tài liệu 10 sai lầm ''''chết người'''' của giới trẻ khi chăm sóc da ppt

Tài liệu 10 sai lầm ''''chết người'''' của giới trẻ khi chăm sóc da ppt

Ngày tải lên : 20/01/2014, 18:21
... những giải đáp hợp lý. Sai lầm #2 Không nhiều cô gái biết cách làm sạch da của mình và cho rằng ở lứa tuổi 18-20, sử dụng xà bông là đủ. Nhưng đây là một sai lầm cực lớn. Xà bông thích ... Sai lầm này có ở phần lớn những người hay trang điểm. Tẩy trang là một công việc có 2 giai đoạn. Nếu như bạn "đốt ... xuyên, chúng sẽ ảnh hưởng đến khuôn mặt của bạn trong tương lai. Lựa chọn các sản phẩm làm sạch da mà không có tác dụng phụ, bạn nhé! Sai lầm #3 ...
  • 4
  • 383
  • 0
Tài liệu 5 sai lầm chết người trong bán lẻ docx

Tài liệu 5 sai lầm chết người trong bán lẻ docx

Ngày tải lên : 22/01/2014, 18:20
... có một 5 sai lầm chết người trong bán lẻ Trong một môi trường kinh doanh thay đổi và phát triển từng ngày như hiện nay, các sai lầm có thể " ;chết người& quot;. Thậm chí cả trong điều ... 5 sai lầm chết người ở trên sẽ không bảo đảm thành công trong bán lẽ, nhưng nếu tiếp tục bỏ qua chắc chắn các nhà bán lẻ sẽ tiến gần hơn tới bờ vực thất bại. Có rất nhiều rủi ro và cạm bẫy trong ... mặt hàng như đèn bàn, thảm, nội thất. 3/ Thất bại trong thay đổi thích ứng với thị trường Sai lầm này phần nào khá liên quan tới sai lầm số 2 ở trên, nhưng nó tập trung nhiều hơn vào phương...
  • 6
  • 433
  • 0

Xem thêm