Diễn đàn chia sẻ kiến thức tin học
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Diễn đàn chia sẻ kiến thức tin học

computer internet tin tức source code download rom tin học

Latest topics
» 8 kiểu người ai cũng ngại làm việc chung
Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL EmptyTue 21 Jun 2016, 3:05 am by ADMIN

» Khám phá hòn đảo tình yêu Song Saa bí ẩn nhất thế giới ngay sát vách Việt Nam
Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL EmptyTue 21 Jun 2016, 2:45 am by ADMIN

» Thư gửi em - người anh ấy thương. Cám ơn em đã thay chị yêu thương anh ấy...
Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL EmptyTue 21 Jun 2016, 2:00 am by ADMIN

» Có những phút yêu làm con người ta đau nhói...
Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL EmptyTue 21 Jun 2016, 1:54 am by ADMIN

» Game Bách thú vô song nhập vai thế hệ mới click here to play
Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL EmptyMon 10 Aug 2015, 9:55 pm by ADMIN

» Root LG L90 DUAL SIM
Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL EmptyMon 10 Aug 2015, 9:19 pm by ADMIN

» Viện Hóa Đạo đường Trần Quốc Toản (nay là Việt Nam Quốc Tự)
Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL EmptyMon 10 Aug 2015, 8:53 pm by ADMIN

» PortForward Network Utilities 2.0.15 + Portable
Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL EmptyMon 10 Aug 2015, 7:51 pm by ADMIN

» Cuộc đời có những thứ chúng ta phải lựa chọn...
Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL EmptyMon 10 Aug 2015, 7:42 pm by ADMIN

» Cơn gió lạ thổi qua làng Game Việt
Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL EmptyMon 10 Aug 2015, 7:36 pm by ADMIN

» Đường Tổng Đốc Phương Chợ Lớn (Nay là Châu Văn Liêm Q5)
Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL EmptyMon 10 Aug 2015, 7:12 pm by ADMIN

» Cửu tinh vô song Khuyến cáo nghiêm túc: Đừng Chơi - Đến con gái còn bị nghiện!
Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL EmptyMon 10 Aug 2015, 12:52 pm by ADMIN

» [Bạn biết chưa] 10 mẫu phụ nữ có giá hơn cả "chân dài, ngực khủng"
Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL EmptyMon 10 Aug 2015, 10:07 am by ADMIN

» [phim hoạt hình]Looney Tunes Rabbit Run 2015 1080p WEB-DL DD5 1 H 264-RARBG
Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL EmptySun 09 Aug 2015, 10:02 pm by ADMIN

» Công an : Bắt được “nội y tặc”
Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL EmptySun 09 Aug 2015, 9:46 pm by ADMIN

Statistics
Diễn Đàn hiện có 82 thành viên
Chúng ta cùng chào mừng thành viên mới đăng ký: tangkimchi

Tổng số bài viết đã gửi vào diễn đàn là 433 in 389 subjects

You are not connected. Please login or register

Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL

Go down  Thông điệp [Trang 1 trong tổng số 1 trang]

ADMIN

ADMIN
Admin
Admin

Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL

Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL 30_04_2009_php_main_advance_001

Ở 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 và 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.




1mysql -hlocalhost -uroot -proot
2mysql>create database project;
3mysql>use project;
4mysql>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));
5mysql>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 tạo file login.php và thiết kế Form HTML để có màn hình đăng nhập khi người dùng truy cập.



Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL Php_bai_11_01



1<form action='login.php' method='post'>
2Username: <input type='text' name='username' size='25' /><br />
3Password: <input type='password' name='password' size='25' /><br />
4<input type='submit' name='ok' value='Dang Nhap' />
5</form>

Tiếp đến chúng ta tiến hành kiểm tra dữ liệu từ form




01<?php
02if(isset($_POST['ok']))
03{
04$u=$p="";
05 if($_POST['username'] == NULL)
06 {
07 echo "Please enter your username<br />";
08 }
09 else
10 {
11 $u=$_POST['username'];
12 }
13 if($_POST['password'] == NULL)
14 {
15 echo "Please enter your password<br />";
16 }
17 else
18 {
19 $p=$_POST['password'];
20 }
21}
22?>

Đ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. Vì phiên bản PHP 5.3 trở lên sẽ yêu cầu ta
khai báo biến trước khi sử dụng. Vì thế mặc định ban đầu ta khởi tạo 2
biến $u và $p mang giá trị là rỗng.




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).




1<?php
2$conn=mysql_connect("localhost","root","root") or die("can't connect this database");
3mysql_select_db("project",$conn);
4?>

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).




01<?php
02if($u && $p)
03{
04 $conn=mysql_connect("localhost","root","root") or die("can't connect this database");
05 mysql_select_db("project",$conn);
06 $sql="select * from user where username='".$u."' and password='".$p."'";
07 $query=mysql_query($sql);
08 if(mysql_num_rows($query) == 0)
09 {
10 echo "Username or password is not correct, please try again";
11 }
12 else
13 {
14 $row=mysql_fetch_array($query);
15 session_start();
16 $_SESSION['userid'] = $row['id'];
17 $_SESSION['level'] = $row['level'];
18 }
19}
20?>

Như vậy code hoàn chỉnh cho ứng dụng (file login.php) này là như sau:




01<?php
02if(isset($_POST['ok']))
03{
04$u=$p="";
05 if($_POST['username'] == NULL)
06 {
07 echo "Please enter your username<br />";
08 }
09 else
10 {
11 $u=$_POST['username'];
12 }
13 if($_POST['password'] == NULL)
14 {
15 echo "Please enter your password<br />";
16 }
17 else
18 {
19 $p=$_POST['password'];
20 }
21 if($u && $p)
22 {
23 $conn=mysql_connect("localhost","root","root") or die("can't connect this database");
24 mysql_select_db("project",$conn);
25 $sql="select * from user where username='".$u."' and password='".$p."'";
26 $query=mysql_query($sql);
27 if(mysql_num_rows($query) == 0)
28 {
29 echo "Username or password is not correct, please try again";
30 }
31 else
32 {
33 $row=mysql_fetch_array($query);
34 session_start();
35 $_SESSION['userid'] = $row[id];
36 $_SESSION['level'] = $row[level];
37
38 }
39 }
40}
41?>
42<form action='login.php' method='post'>
43Username: <input type='text' name='username' size='25' /><br />
44Password: <input type='password' name='password' size='25' /><br />
45<input type='submit' name='ok' value='Dang Nhap' />
46</form>

Ở 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.




Trân Trọng













(Bùi Quốc Huy)

Nguồn: qhonline.info

https://vantruongvu.forumvi.com

Về Đầu Trang  Thông điệp [Trang 1 trong tổng số 1 trang]

Permissions in this forum:
Bạn không có quyền trả lời bài viết