Lập trình PHP - Bài 11: Viết ứng dụng đăng nhập bằng PHP và MySQL

Ở những bài trước chúng ta đã học qua các kiến thức trọng yếu về PHP. Tuy nhiên, để có thể xây

dựng một website hoàn chỉnh bằng những kiến thức đó thì quả thật không đơn giản. Bởi vì các

kiến thức qua sách vở và tài liệu dù sao cũng chỉ là những kiến thức tổng quát và thiếu tính

khách quan thực tiến. Nên khi người học lập trình bước vào giai đoạn viết ứng dụng thì thường

rất lúng túng. Đó cũng là lý do tôi viết bài này để hưỡng dẫn các bạn dần làm quen với cách tiếp

cận một ứng dụng PHP&MYSQL như thế nào.

pdf3 trang | Chuyên mục: PHP | Chia sẻ: dkS00TYs | Lượt xem: 1899 | Lượt tải: 5download
Tóm tắt nội dung Lập trình PHP - Bài 11: Viết ứng dụng đăng nhập bằng PHP và MySQL, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL 
Ở những bài trước chúng ta đã học qua các kiến thức trọng yếu về PHP. Tuy nhiên, để có thể xây 
dựng một website hoàn chỉnh bằng những kiến thức đó thì quả thật không đơn giản. Bởi vì các 
kiến thức qua sách vở và tài liệu dù sao cũng chỉ là những kiến thức tổng quát và thiếu tính 
khách quan thực tiến. Nên khi người học lập trình bước vào giai đoạn viết ứng dụng thì thường 
rất lúng túng. Đó cũng là lý do tôi viết bài này để hưỡng dẫn các bạn dần làm quen với cách tiếp 
cận một ứng dụng PHP&MYSQL như thế nào. 
Trước hết chúng ta phải thiết kế và xây dựng mô hình cơ sở dữ liệu ứng với từng lệnh bên dưới 
(xem lại bài ngôn ngữ SQL và MYSQL Căn Bản) sau đó mới tiến hành triển khai lập trình. 
mysql -hlocalhost -uroot -proot 
mysql>create database project; 
mysql>use project; 
mysql>create table user( id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, username VARCHAR(50) 
NOT NULL, password CHAR(50) NOT NULL, level CHAR(1) NOT NULL, PRIMARY KEY(id)); 
mysql>insert into user(username,password,level) values ("admin","12345","2") ("abc","12345","1"); 
Vậy là chúng ta đã có cơ sở dữ liệu như mô hình trên. Tiếp đến chúng ta thiết kế Form HTML để 
có màn hình đăng nhập khi người dùng truy cập. 
Username: 
Password: 
Tiếp đến chúng ta tiến hành kiểm tra dữ liệu từ form 
<?php 
if(isset($_POST['ok'])) 
{ 
 if($_POST['username'] == NULL) 
 { 
 echo "Please enter your username"; 
 } 
 else 
 { 
 $u=$_POST['username']; 
 } 
 if($_POST['password'] == NULL) 
 { 
 echo "Please enter your password"; 
 } 
 else 
 { 
 $p=$_POST['password']; 
 } 
} 
?> 
Đoạn code ở trên sẽ kiểm tra xem người dùng có tiến hành nhấn nút đăng nhập hay không. Và 
nếu có thì chúng ta sẽ xét tiếp tình trạng người dùng có để trống các ô username và password hay 
không. Nếu có chúng ta sẽ thông báo lỗi ở bên trên form, để người sử dụng tiến hành nhập liệu. 
Kế đến chúng ta kiểm tra xem có tồn tại hai biến $u và $p (chỉ khi người dùng đăng nhập thành 
công thì mới có thể tạo ra 2 biến đó). Tiếp đến chúng ta tiến hành kết nối cơ sở dữ liệu (xem lại 
bài kết hợp PHP & MYSQL trong ứng dụng web). 
<?php 
$conn=mysql_connect("localhost","root","root") or die("can't connect this database"); 
mysql_select_db("project",$conn); 
?> 
Và tiến hành kiểm tra xem username và password người sử dụng vừa nhập có trùng khớp với 
thông tin có trong cơ sở dữ liệu hay không ?. Nếu không thì chúng ta sẽ báo lỗi ngay. Ngược lại 
sẽ tiến hành lấy dữ liệu từ bảng và gán vào session. Để có thể quản lý phiên làm việc một cách 
hiệu quả trên mọi trang của khu vực admin (xem lại bài khái niệm cơ bản về cookie và 
session). 
<?php 
if($u && $p) 
{ 
 $conn=mysql_connect("localhost","root","root") or die("can't connect this database"); 
 mysql_select_db("project",$conn); 
 $sql="select * from user where username='".$u."' and password='".$p."'"; 
 $query=mysql_query($sql); 
 if(mysql_num_rows($query) == 0) 
 { 
 echo "Username or password is not correct, please try again"; 
 } 
 else 
 { 
 $row=mysql_fetch_array($query); 
 session_start(); 
 session_register("userid"); 
 session_register("level"); 
 $_SESSION['userid'] = $row[id]; 
 $_SESSION['level'] = $row[level]; 
 } 
} 
?> 
Như vậy code hoàn chỉnh cho ứng dụng này là như sau: 
<?php 
if(isset($_POST['ok'])) 
{ 
 if($_POST['username'] == NULL) 
 { 
 echo "Please enter your username"; 
 } 
 else 
 { 
 $u=$_POST['username']; 
 } 
 if($_POST['password'] == NULL) 
 { 
 echo "Please enter your password"; 
 } 
 else 
 { 
 $p=$_POST['password']; 
 } 
 if($u && $p) 
 { 
 $conn=mysql_connect("localhost","root","root") or die("can't connect this database"); 
 mysql_select_db("project",$conn); 
 $sql="select * from user where username='".$u."' and password='".$p."'"; 
 $query=mysql_query($sql); 
 if(mysql_num_rows($query) == 0) 
 { 
 echo "Username or password is not correct, please try again"; 
 } 
 else 
 { 
 $row=mysql_fetch_array($query); 
 session_start(); 
 session_register("userid"); 
 session_register("level"); 
 $_SESSION['userid'] = $row[id]; 
 $_SESSION['level'] = $row[level]; 
 } 
 } 
} 
?> 
Username: 
Password: 
Ở bài sau, chúng ta sẽ tiếp tục tìm hiểu ứng dụng kết hợp PHP & MYSQL cho việc thêm một 
thành viên như thế nào. Mọi sự góp ý, cũng như thắc mắc của các bạn dành cho bài viết vui lòng 
sử dụng tính năng thảo luận tại diễn đàn. Hoặc thông qua việc liên hệ của hệ thống website. 
Mong sẽ nhận được nhiều ý kiến đóng góp từ các bạn. 

File đính kèm:

  • pdf11.pdf
Tài liệu liên quan