Thursday, July 7, 2016

lập trình web với php mysql

PHP được gói trong thẻ mở: Bây giờ bạn hãy thử chạy tập tin hi.php sau: mom. Khi chạy bạn sẽ gõ vào: localhost/hi.php Kết quả cho ra là "Hi, mom". Ta thấy chữ "Hi," nằm trong tag lệnh PHP còn chữ "mom" thuộc về HTML. Tuy nhiên, PHP còn làm được nhiều điều khác nữa, cũng giống như các ngôn ngữ lập trình khác, nó có thể làm việc với các loại biến, kiểu dữ liệu, chứa rất nhiều hàm chức năng. Hãy tìm hiểu ví dụ sau: Nếu như bạn thấy khó hiểu thì cũng không sao. Chúng ta sẽ biết tường tận hơn ở phần sau. Trang kết quả sẽ hiển thò các lời chào tuỳ thuộc vào giờ giấc hiện tại. Tôi đã dùng hàm date của PHP để lấy ra được giờ giấc hiện tại. Giá trò giờ được đem gán cho biến $var. Kế đến là các chọn lựa được sử dụng để đưa ra lời chào thích hợp. Các bạn hãy để ý một chút, các lệnh của PHP đều được kết thúc với dấu chấm phẩy (;). Trong phát biểu IF chúng ta thấy dấu ngoặc nhọn { } chứa các lệnh tuỳ sẽ được thi hành tuỳ thuộc vào điều kiện. Các điều kiện thì được bao trong dấu ngoặc đơn ( ). Hàm date() và lệnh echo chỉ là 2 trong hàng trăm các hàm và lệnh có trong PHP mà các bạn sẽ được học một số cần thiết của chúng trong các chương sau. Bây giờ bạn hãy tìm hiểu thêm một số lệnh về CSDL. Lệnh PHP để kết nối Database (quan trọng) Bởi vì PHP và MySQL hiện tại trên máy của bạn vẫn còn là hai thế giới tách biệt nhau. Do đó, muốn dùng PHP để làm việc được với CSDL bạn cần phải tạo ra sợi dây liên kết giữa hai chiến hữu này. Vì có thể có rất nhiều database trong MySQL, do đó bạn cần phải chỉ ra bạn muốn sử dụng database nào trong MySQL. Chúng ta hãy thực hiện như sau: Dòng đầu tiên thực hiện việc kết nối với Database Server đang nằm trên máy localhost, có username là khai, password là kkk. Nếu kết nối thành công, nó sẽ thực hiện bước kế tiếp là kết nối với database nằm trong đó là guestbook bằng lệnh mysql_select_db() Các bạn nên lưu ý là các lệnh trên bạn sử dụng thường xuyên cho mọi kết nối CSDL của bạn, do đó tôi khuyên bạn nên lưu nó vào một tập tin (dbconnect.php chẳng hạn), include(‘dbconnect.php’); sau này cần thì chỉ việc dùng lệnh Nhập dữ liệu vào Database Bởi vì hiện tại database của bạn vẫn chưa có user nào, cho nên tôi sẽ hướng dẫn bạn viết các lệnh để thực hiện việc này. Nhưng trước tiên, bạn cần phải biết thêm một chút ít về biến trong PHP. Ở phần trước bạn đã xem qua một ví dụ trong đó có chứa biến, tuy nhiên đối với môi trường client/server, bạn cần phải làm việc với biến data từ client. Bạn sẽ thường xuyên làm việc với form HTML (bạn có thể tìm hiểu kỹ hơn ở phần Phục lục A. Chúng ta nên biết là mỗi phần tử của form đều có một cái tên, và khi bạn submit một form nào đó thì các tên của các phần tử trong đó trở thành một biến trong script PHP được form submit đến. Với form như sau, khi được submit, các biến $surname và $submit sẽ được tạo ra trong myscript.php. Giá trò $surname sẽ mang giá trò mà user đã nhập vào. Giá trò của $submit sẽ là chuỗi "submit". Tôi xin lưu ý với các bạn là lập trình Web không giống như các dạng lập trình khác ở chỗ nó không ở trạng thái tónh. Để thể hiện một trang, Web Server phải trước hết nhận một thỉnh cầu từ trình duyệt. Giao thức sử dụng của chúng là HTTP, Hypertext Transfer Protocol. Các yêu cầu sẽ bao gồm: trang web mà trình duyệt sẽ thấy, form data, loại trình duyệt đang được sử dụng, đòa chỉ IP mà trình duyệt sử dụng. Dựa vào thông tin này mà Web Server sẽ quyết đònh phục vụ những gì. Một khi server phục vụ yêu cầu trang web, nó sẽ duy trì sự kết nối với trình duyệt. Thông thường, bạn cần biết cách thức để chuyển các biến từ trang này sang trang khác. Bạn sẽ tìm thấy thao tác này trong ứng dụng tiếp theo. Ứng dụng của chúng ta sẽ giải quyết vấn đề dựa theo 1 trong 3 cách thức: chuyển giao theo phẩn tử form ẩn, sử dụng cookies, sử dụng session. Bây giờ trở lại script sau: Bạn có thể quyết đònh cho hiển thò trên site những gì dựa vào các biến thông tin từ form HTML. Thông thường, bạn có thể kiểm tra nếu form đã được submit hay chưa bằng cách kiểm tra biến $submit có chứa giá trò "submit" hay không. Hãy bắt tay vào công việc đi thôi. Trang đầu tiên trong ứng dụng được gọi là sign.php có chứa một form HTML. Action của nó là create_entry.php. Sau đây là chi tiết dòng lệnh: Sign my Guest Book!!! Name: Location: Email: Home Page URL: Comments: Khi bạn điền đầy đủ thông tin ở trong form, thì các thông tin sẽ được chuyển đổi tới create_entry.php. Chuyện đầu tiên phải làm trên trang này là kiểm tra xem form đã được submit chưa. Nếu rồi, nhận lấy giá trò đã nhập vào trong form và sử dụng chúng để tạo một query đồng thời gởi đến MySQL. Bạn đừng lo lắng là không biết các lệnh SQL, điều trước tiên là chỉ cần biết là nó sẽ thực hiện việc chèn dữ liệu vào table của guestbook. Tập tin create_entry.php như sau: Thanks!! View My Guest Book!!! Trong lần đầu tiên create_entry.php được gọi, form sign.php sẽ được hiển thò. Kế tiếp, dữ liệu sẽ được cập nhật vào CSDL. Hình sau minh hoạ các form được hiển thò: sign.php create_entry.php Hiển thò dữ liệu trong Database lên màn hình Bây giờ dữ liệu đã được ghi vào CSDL guestbook . Bạn cần thực hiện việc xem các dữ liệu đó. Nên nhớ là chúng ta lại phải sử dụng dbconnect.php như tôi đã nói với bạn trước đây. Bạn cần phải cho hiển thò tất cả các record trong table thông tin của khách viếng thăm đã nhập vào. Chúng ta thực hiện script sau và đặt tên là view.php: View My Guest Book!! Sign My Guest Book!! Như chúng ta thấy query trong MySQL truy cập tất cả các hàng trong database. Script thực hiện việc này bằng cách sử dụng vòng lập thông qua biến $row. Trong mỗi vòng lặp thì mỗi field trong từng record được hiển thò. Vd: print $row["email"] sẽ ghi ra màn hình đối với record đang truy cập. Khi chạy chương trình, tất cả các field của từng record sẽ được hiển thò: view.php Chương trình này upload lên internet được chưa? Bây giờ thì ứng dụng đầu tiên của bạn đã hoàn tất. Nếu bạn muốn upload web vừa tạo lên trên Server để thử nghiệm thì cũng được thôi. Nhưng muốn để nó trở thành một site guestbook đúng nghóa thì chưa được đâu! Bạn còn cần phải làm nhiều thứ để dữ liệu bạn không bò hacker quấy phá…. (Còn tiếp) Lưu ý: Bạn có thể tìm thấy các CD thiết kế web PHP tại các cửa hàng CD (Tôn Thất Tùng, tp.HCM chẳng hạn). Trên CD có trình cài đặt Apache, PHP, MySQL thông dụng là FOX. Ngoài ra còn có các Website PHP mẫu. CÁC LỆNH Ở BÀI HỌC TRÊN TỐT NHẤT BẠN NÊN GÕ LẠI, KHÔNG NÊN COPY! tongphuockhai@mail15.com - Kiến thức là kho báu không phải của riêng ai. Vì vậy bạn đừng ngần ngại khi chia sẻ cho mọi ngườ i. LẬP TRÌNH WEB ĐỘNG VỚI PHP / MySQL GUESTBOOK CATALOG FORUM SHOPPING CART PHẦN 2 Tống Phước Khải (tổng hợp& biên dòch) Phương pháp truy xuất CSDL MySQL 1- Từ Command Prompt 2- Bằng lệnh PHP 3- Dùng phpMyadmin Để hiểu được chương này một cách rõ ràng, trước tiên bạn cần phải có một số kiến thức cơ bản về Cơ Sở Dữ Liệu quan hệ. Nếu bạn đã học qua một khoá căn bản về MS Access trong chương trình đào tạo chứng chỉ B chẳng hạn thì hẳn nhiên bạn có thể tiếp tục. Còn nếu như bạn chưa biết gì về nó thì tôi sẽ bàn đến nó trong phần Phụ Lục của giáo trình này hoặc bạn có thể tìm ngay một tài liệu tham khảo về CSDL, dễ nhất là tài liệu và MS Access ... ... Tôi chắc rằng bây giờ bạn đã có kiến thức về CSDL và hiểu biết Table là gì rồi! Có hàng khối công việc bạn sẽ phải làm việc đối với các Table và bạn sẽ được hướng dẫn cặn kẽ trong quyển sách này. Bạn sẽ phải vượt qua một số kiến thức về nó để mới có thể thành thạo trong thao tác với Table. Như bạn biết đấy: Con đường đi đến thành công không có trải thảm sẵn đâu! Nếu bạn đã từng làm việc với MS SQL Server hay Access chúng đều có hỗ trợ việc tạo CSDL rất là dễ dàng với giao diện trực quan. Đối với MySQL bạn cũng có thể sử dụng công cụ trực quan đó là phpMyadmin. Tuy nhiên, bạn phải học cách thao tác với CSDL bằng dòng lệnh, tôi chắc rằng điều này sẽ rất có ích cho bạn. Muốn chương trình của bạn trong lúc chạy thao tác tự động với CSDL thì bạn cần hàng tá lệnh PHP/SQL để thực hiện các yêu cầu của chương trình. Trước khi chúng ta tạo các table trong CSDL của MySQL, có một vài thứ bạn cần phải hiểu rõ. Những khái niệm cơ bản mà tôi sắp giới thiệu sau đây rất quan trọng. Bạn hãy chắc rằng mình đã nắm kỹ về chúng trước khi thực hiện việc thiết kế dữ liệu. Null Việc đầu tiên bạn phải làm trong việc thiết kế một table là quyết đònh xem một field có cho phép giá trò NULL hay không. Trong CSDL quan hệ, giá trò NULL của một field đồng nghóa với nó có thể chấp nhận không có dữ liệu trong đó. Nên nhớ rằng giá trò NULL khác với giá trò của một chuỗi không có ký tự trong đó hoặc số có giá trò 0. Đôi khi trong chương trình, bạn sẽ thực hiện một số động tác so sánh xem một chuỗi nào đó có chứa giá trò hay không, nó có thể là một câu lệnh IF. Xét một ví dụ PHP như sau: $var //this is a variable used in the test if ($var == “”) { echo “Var is an empty string”; } else { echo $var; } Nếu bạn thực hiện việc so sánh xem giá trò số có phải 0 hay không thì cũng thực hiện tương tự. Động tác so sánh trên sẽ không làm việc được đối với giá trò NULL. Bạn nên hiểu rằng NULL là không chứa bất kỳ giá trò gì trong đó, cho nên việc so sánh trò không mang ý nghóa gì cả. Trong chương 3 bạn sẽ thấy rằng đối với giá trò NULL đòi hỏi lập trình viên phải rất cân nhắc khi viết lệnh liên kết table. Trong lệnh SELECT của SQL, có một số cách để bạn có thể kiểm tra nếu như một f ield ong chứa giá trò NULL. Trước hết bạn hãy sử dụng hàm Isnull(). Giả sử tìm một record tr table mà giá trò midle_name là NULL, bạn có thể sử dụng query sau: select * from names where isnull(middle_name); Hoặc lấy các record mà middle_name khác NULL: select * from names where !isnull(middle_name); Bạn cũng có thể sử dụng is null và is not null: select * from users were addr2 is null; select * from users where addr2 is not null; Để rõ hơn, bạn hãy xem chuyện gì xảy ra khi tôi cố gắng liên kết hai table sau: ten ho_lot Trung Le Anh Khai Tong Phuoc ba_xa ten 1321 Diem table này thông qua field ba_xa. (Xin bạn chớ lo lắng khi chưa hiểu về cú pháp, bạn sẽ học ngay ở phần tiếp theo thôi). Khach_hang SELECT * FROM khach_hang, hon_nhan Nếu bạn muốn tìm tên các khách hàng và tên những bà xã của họ, bạn sẽ phải liên kết 2 Hon_nhan

No comments:

Post a Comment