bai th08 php voi csdl

24
Bài thực hành – Thiết kế web GVHD TS. Vũ ðức Lung Bài 08: PHP với CSDL Mục tiêu Tạo trang web ñộng với PHP & MySQL Yêu cầu Hoàn thành các bài thực hành trước Nắm bắt các kiến thức cơ bản về PHP và MySQL Các bước thực hành: I. Tạo và cài ñặt CSDL: - Khởi ñộng WampServer - Từ cửa sổ khi bấm chuột vào biểu tượng của WampServer, chon PhpMyAdmin - Trang web PhpAdmin hiện ra có dạng (chú ý nếu không hiện ra có thể do port không ñúng, theo bài trước phải ñánh port số 81 thêm vào):

Upload: giang-nguyen

Post on 12-Jan-2017

946 views

Category:

Documents


0 download

TRANSCRIPT

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

Bài 08: PHP với CSDL

Mục tiêu

– Tạo trang web ñộng với PHP & MySQL

Yêu cầu – Hoàn thành các bài thực hành trước – Nắm bắt các kiến thức cơ bản về PHP và MySQL

Các bước thực hành: I. Tạo và cài ñặt CSDL:

- Khởi ñộng WampServer - Từ cửa sổ khi bấm chuột vào biểu tượng của WampServer, chon PhpMyAdmin

- Trang web PhpAdmin hiện ra có dạng (chú ý nếu không hiện ra có thể do port không ñúng, theo bài trước phải ñánh port số 81 thêm vào):

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

- Trong mục Create new database của trang PhpAdmin tao CSDL mang tên

ebookDB với utf8_unicode_ci và bấm nút Create:

- Sau khi tạo CSDL ta vào mục Import và chọn file bookstoreDB.sql ñể import

CSDL ñã tạo vào trong ebookDB.

- Bấm vào nút Go. Nếu import thành công ta sẽ thấy bên trái của trang PhpAdmin

có danh sách 4 bảng của CSDL như dạng sau:

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

- ðể kiểm tra, bấm vào bất kỳ bảng nào rồi bấm vào SQL, sau ñó GO sẽ hiện ra dữ

liệu của bảng ñó II. Tạo kết nối ñến CSDL :

Do ña số các trang web ñều kết nối ñến CSDL, do ñó ta sẽ ñóng gói việc kết nối với CSDL trong 1 class riêng ñể dễ dàng hơn trong việc sử dụng. Tạo file DataProvider.php Lưu DataProvider.php trong thư mục C:\wamp\www\ Khai báo class DataProvider trong DataProvider.php: <?php

class DataProvider

{

public static function executeQuery($sql)

{

include_once('db.inc');

include_once('error.inc');

// Tao ket noi CSDL

if (!($connection = mysql_connect($hostName,$username,$password)))

die ("couldn't connect to localhost");

if (!(mysql_select_db($databaseName,$connection)))

showError();

// Thiet lap font Unicode

if (!(mysql_query("set names 'utf8'")))

showError();

// Thuc thi cau truy van

if (!($result = mysql_query($sql, $connection)))

showError();

// Dong ket noi CSDL

if (!(mysql_close($connection)))

showError();

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

return $result;

}

}

� Trong ñó file db.inc có: <?php $hostName = "localhost"; $databaseName = "ebookDB"; $username = "root"; $password = ""; //hoac la "root" tuy theo cai dat ?>

� File error.inc chứa hàm xử lý lỗi: <?php function showError( ) { die("Error " . mysql_errno( ) . " : " . mysql_error( )); } ?>

� Các trang web nào cần kết nối CSDL ta khai báo: <?php

require 'DataProvider.php'; ?>

III. Xây dựng các trang 1. Cấu trúc site

Trang TrangChu.php

trangchuphp

Index.php timkiem.php dangnhap.php

xltimsach.php

xlXoa.php ThemSach.php CapNhat.php

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

� DangNhap.php Giao diện:

Code:

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

� TimKiem.php Giao diện:

Code:

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

Bài tập 1: Dùng PHP thiết kế trang web in ra màn hình như sau:

My SQL là gì? MySQL là một phần mềm quản trị CSDL mã nguồn mở, miễn phí nằm trong nhóm LAMP (Linux - Apache -MySQL - PHP)

Bài tập 2: Viết trang PHP hiển thị dãy số từ 1 ñến 100 sao cho số chẵn là chữ in ñậm, số lẽ là chữ in thường. Kết quả: 1 2 3 4….., 100 Hướng dẫn: Sử dụng vòng lập for, 1 biến ñếm i, toán tử % Bài tập 3:

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

Viết trang PHP hiển thị thông tin sau: STT Tên sách Tác giả 1 Tên sách 1 Tác giả 1 2 Tên sách 2 Tác giả 2 …. …. …. 10 Tên sách 10 Tác giả 10

Bài tập 4: Thiết kế webform có dạng sau:

Sau khi nhập họ và tên vào và bấm Submit thì cho kết quả ngay tại trang ñó:

Code mẫu file "names.php":

<HTML> <HEAD> <TITLE>Input data</TITLE> </HEAD> <BODY> <FORM ACTION="names.php" NAME="myform" METHOD="GET"> First Name: <INPUT TYPE="TEXT" NAME="Name[]" SIZE=20><br> Last Name: <INPUT TYPE="TEXT" NAME="Name[]" SIZE=20><br> <INPUT TYPE="SUBMIT" VALUE="Submit"> </FORM> <?php if (isset($_GET['Name'])){ echo "Hello " . $_GET['Name'][0] . " " . $_GET['Name'][1]; } ?> </BODY>

Bài thực hành – Thiết kế web

GVHD TS. Vũ ðức Lung

</HTML> Bài tập 5: Viết 1 chương trình kiểm tra username và password của người truy cập. Với username và password mặc ñịnh là : Username: admin Password: 12345 + Nếu nhập ñúng thì trả về kết quả là : "Chào mừng, admin ñến với website". + Ngược lại nếu sai sẽ trả về thông tin "Cảnh báo : Username hoặc password của bạn không chính xác. Vui lòng nhập lại". Mẫu trích dẫn từ file nhập liệu login.php:

<form method="POST" action="check.php"> <div align="left"><p><font face="tahoma">UserName</font> <input type="text" name="username" size="14"> <br> <div align="left"><p><font face="tahoma">Password</font> <input type="password" name="pw" size="14"><BR><BR><input type="submit" value="Submit"></p> </div></form>

Từ file kiểm tra có tên là check.php $user=$_POST['username']; $pass=$_POST['pw']; if ($user == "admin" AND $pass == "12345") { echo "Chào mừng, $user ñến với website"; } else { echo "Cảnh báo : Username hoặc password của bạn không chính xác. Vui lòng nhập lại"; } ?>