BÀI TẬP THỰC HÀNH 05 Mục đích: Minh họa chức đăng ký, đăng nhập Yêu cầu: Bổ sung thêm vào CSDL bảng: nguoidung diachi mand INT-AI-PRIMARY madc INT-AI-PRIMARY email VARCHAR(50) diachi VARCHAR(50) matkhau VARCHAR(50) quanhuyen VARCHAR(50) hoten VARCHAR(50) tinhthanh VARCHAR(50) loaind TINYINT dienthoai VARCHAR(50) mand INT Trong thư mục model, viết lớp sau: nguoidung_db.php: có phương thức: thêm người dùng, kiểm tra người dùng hợp lệ, lấy thông tin người dùng diachi_db.php: phương thức thêm địa Tạo thư mục khachhang (controller), viết trang sau: regisform.php: form đăng ký người dùng/khách hàng loginform.php: form đăng nhập index.php: trang điều khiển main.php: đăng nhập thành công hiển thị trang Hướng dẫn: Tạo bảng nguoidung: Lớp nguoidung_db.php: Trang loginform.php: ĐĂNG NHẬP Chưa có tài khoản? Đăng ký đây Trang regisform.php: ĐĂNG KÝ Thông tin khách hàng Địa giao nhận Trang main.php: Chào ! Trang index.php: Bài tập làm thêm Bổ sung chức năng: Cập nhật thông tin người dùng (người dùng tự thực hiện) Reset mật khẩu, Phân quyền đơn giản (chỉ admin thực hiện) ... matkhau=:matkhau"; $cmd = $db->prepare($sql); $cmd->bindValue(":email", $email); $cmd->bindValue(":matkhau", md5($matkhau)); $cmd->execute(); $valid = ($cmd->rowCount () == 1); $cmd->closeCursor (); return... $cmd = $db->prepare($sql); $cmd->bindValue(":email", $email); $cmd->execute(); $ketqua = $cmd->fetch(); $cmd->closeCursor(); return $ketqua; } catch(PDOException $e){ $error_message=$e->getMessage();... VALUES(:email,:matkhau,:hoten)"; $cmd = $db->prepare($sql); $cmd->bindValue(':email',$email); $cmd->bindValue(':matkhau',md5($matkhau)); $cmd->bindValue(':hoten',$hoten); $cmd->execute(); $makh = $db->lastInsertId();