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

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
 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
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
 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
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 , 1024 )) { $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" , 1024 )) // 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 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 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
Sai lầm chết người trong chơi tiểu cảnh, non bộ và cách chơi đúng pptx

Sai lầm chết người trong chơi tiểu cảnh, non bộ và cách chơi đúng pptx

Ngày tải lên : 11/03/2014, 12:20
... và được khai thác từ trong lòng đất, trong lòng núi. Tuy nhiên do hấp thụ khí thiên và khí địa từ hàng triệu năm nên trong đá sẽ có những năng NHỮNG SAI LẦM CHẾT NGƯỜI TRONG CHƠI TIỂU CẢNH ... chuyện người chơi non bộ xong thì chết hay có nhiều tà ma trong nhà sau khi làm các hòn non bộ. lớn. Hậu quả là trong gia đình có quá nhiều chuyện thị phi, kiện tụng, thậm chí là chết người. ... núi tại trước nhà thì người trong nhà sẽ bị chết. Và nếu đặt thế núi tại đó thì sẽ giải thoát sơn thần không mắc cạn, do đó người trong gia đình không bị thương tật hay chết chóc. Ngược lại...
  • 10
  • 426
  • 2
8 sai lầm chết người và các cách phòng tránh trong Internet Marketing

8 sai lầm chết người và các cách phòng tránh trong Internet Marketing

Ngày tải lên : 08/11/2012, 09:25
... cho nên họ không thể xem được web site của bạn. Có thể người thiết kế web sẽ có một thông báo cho bạn rằng vị khách đó nằm trong “những người cùng khổ”, không có một trình duyệt thích hợp nên ... (pay per click) để đưa web site lên hàng đầu trong các danh sách của công cụ tìm kiếm. V. Bạn không có cách gì để đánh giá hiệu quả của web site Người xưa có câu nói: “nếu nó không hỏng thì ... năng và người sử dụng của bạn ra đi. VIII. Khó liên lạc Đừng gây khó khăn cho các khách hàng khi họ muốn liên lạc với bạn. Hãy đảm bảo các thông tin liên lạc của bạn có ở mọi trang và dễ tiếp...
  • 3
  • 1.1K
  • 3
 Những sai lầm chết người của các doanh nghiệp nhỏ.pdf

Những sai lầm chết người của các doanh nghiệp nhỏ.pdf

Ngày tải lên : 22/10/2012, 14:41
... Những sai lầm chết người của các doanh nghiệp nhỏ Theo Michael S. Winicki, một nhà tư vấn hoạt động tiếp thị, chủ nhân của trang web Big Noise Marketing, ... 136 nước trên thế giới thì doanh nghiệp nhỏ thường mắc phải một số sai lầm có thể khiến họ tự "xóa sổ" mình trên thị trường 1. Sếp biết nhìn xa trông rộng. Nhiều chủ doanh nghiệp ... công việc kế toán, sổ sách và họ thường thuê những người không chuyên nghiệp để giải quyết những công việc này. Hậu quả là những sai sót trong hạch toán và báo cáo tài chính thường xảy ra....
  • 4
  • 552
  • 3
Những sai lầm chết người của các doanh nghiệp nhỏ

Những sai lầm chết người của các doanh nghiệp nhỏ

Ngày tải lên : 08/11/2012, 08:43
... công việc kế toán, sổ sách và họ thường thuê những người không chuyên nghiệp để giải quyết những công việc này. Hậu quả là những sai sót trong hạch toán và báo cáo tài chính thường xảy ra....
  • 2
  • 432
  • 0

Xem thêm