گیاهی ترین گیاهی ترین AnzanDigital فروشگاه
Home / Tin Tức / Bài thực hành viết ứng dụng login trong PHP và MySQL

Bài thực hành viết ứng dụng login trong PHP và MySQL

Những bài trước các bạn đã được tiếp xúc với kiến thức căn bản trong PHP nhưng để có thể làm lên 1 web bằng PHP không phải là đơn giản bởi việc xây dựng một bộ kiến thức hoàn chỉnh bằng php rất khó.Khi các bạn học lập trình php và bước vào giai đoạn làm ứng dụng nó rất khó điều đó đòi hỏi bạn cần chăm chỉ và tiếp cận với PHP và MYSQL qua các trải nghiệm ứng dụng.

Đầu tiên các bạn cần xây dựng bộ CSDL với những lệnh như sau:

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");

Để có thể tạo được mộ hình login vào web sau khi có csdl rồi ta tạo 1 file tên là login.php và sử dụng html để tạo form login đăng nhập như hình sau:

 login-php

Xem thêm: Địa chỉ học lập trình php ở đâu

Mã HTML tạo form login:

 

<form action='login.php' method='post'>

Username: <input type='text' name='username' size='25' /><br />

Password: <input type='password' name='password' size='25' /><br />

<input type='submit' name='ok' value='Dang Nhap' />

</form>

 

Mã PHP kiểm tra dữ liệu từ form chuyền vào

<?php

if(isset($_POST[‘ok’]))

{

$u=$p="";

if($_POST[‘username’] == NULL)

{

  echo "Please enter your username<br />";

}

else

{

  $u=$_POST[‘username’];

}

if($_POST[‘password’] == NULL)

{

  echo "Please enter your password<br />";

}

else

{

$p=$_POST[‘password’];

}

}

?>

Giải thích đoạn code trên: Đoạn code trên giúp chúng ta kiểm tra khi người dùng click vào nút đăng nhập nếu như họ để trống trường nào thì sẽ văng ra butom là không được để trống mục đó hoặc nhập sai dữ liệu sẽ bắt nhập đúng.Trong ngôn ngữ php 5.3 đã update bắt các lập trình viên phải khai báo biến trước khi sử dụng.Vì thế đòi hỏi các lập trình viên phải tạo 2 biến $u và $p giá trị là rỗng

 

Tiếp theo kiểm tra xem 2 biến $u và $p có tồn tại hay không khi mà người dùng đăng nhập thành mới có thể tạo ra 2 biến đó.Tiếp theo bạn tiến hành kết nối với csdl.

<?php

$conn=mysql_connect("localhost","root","root") or die("can't connect this database");

mysql_select_db("project",$conn);

?>

Việc kiểm tra user và pass mà người dùng sử dụng có đúng với thông tin tron csdl hay không nếu như người dùng nhập sai thì chúng ta sẽ báo lỗi cho người dùng còn đúng thì sẽ đưa người dùng đến trang đăng nhập thành công và gán session cho lần đăng nhập này.

<?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[‘userid’] = $row[‘id’];

  $_SESSION[‘level’] = $row[‘level’];

}

}

?>

Bộ code hoàn chỉnh có login.php như sau:

<?php

if(isset($_POST[‘ok’]))

{

$u=$p="";

if($_POST[‘username’] == NULL)

{

  echo "Please enter your username<br />";

}

else

{

  $u=$_POST[‘username’];

}

if($_POST[‘password’] == NULL)

{

  echo "Please enter your password<br />";

}

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[‘userid’] = $row[id];

   $_SESSION[‘level’] = $row[level];

  }

}

}

?>

<form action='login.php' method='post'>

Username: <input type='text' name='username' size='25' /><br />

Password: <input type='password' name='password' size='25' /><br />

<input type='submit' name='ok' value='Dang Nhap' />

</form>

Gợi ý xem thêm:

About Hồng Sơn

Check Also

Xét nghiệm tiểu đường tốt an toàn uy tín tại đa khoa Pacific

Vì sao bạn cần phải biết rõ chỉ số xét nghiệm tiểu đường? Căn cứ vào …

Leave a Reply

Your email address will not be published. Required fields are marked *