Ý kiến học viên

Bùi Quốc Đạt

Bùi Quốc Đạt

Website thiết kế đẹp dễ nhìn và sử dụng, thông tin chưa nhiều nhưng kh...
  • - Phone : 0964142565
  • - Email : bqdat.it@gmail.com
Nguyen Hoang Long

Nguyen Hoang Long

Các chuyên mục giảng giải rất dễ hiểu, nhưng còn hơi ít chuyê...
  • - Phone : 0901914217
  • - Email : longn1422@gmail.com
Nguyễn Xuân Bách

Nguyễn Xuân Bách

Chất lượng giảng dạy rất tốt, Giảng viên nhiệt tình hướng dẫn ch...
  • - Phone : 0976256106
  • - Email : bachnx92@gmail.com
  • - Facebook : Xem
Viết đánh giá

Viết đánh giá

Về chất lượng đào tạo, website

Đánh giá của học viên

Ý kiến của học viên

Xem đánh giá của học viên về phpandmysql.net

Phần 5. Đồ án quản lý sinh viên, tạo trang đăng nhập quản trị admin

Như lúc đầu chúng ta đã phân tích ứng dụng của chúng ta chỉ cho phép giảng viên mới có quyền đăng nhập vào trang quản trị, cho nên lúc này chúng ta sẽ xây dựng trang đăng nhập cho giảng viên trước, trang giành cho sinh viên chúng ta sẽ làm sau.
Trang đăng nhập sẽ bao gồm một form cho phép người dùng nhập tên tài khoản và mật khẩu đăng nhập, nếu bạn nào hiều về cấu trúc của form và cách xử lý form có thể xem lại tại đây

- Tiến hành ta sẽ tạo một file login.php trong thư mục admin/login.php đây là file đăng nhập cho giảng viên



- Form html 



- Giao diện của form khi chúng ta chạy ứng dụng




- Sau khi tạo form xong chúng ta cần kết nối với cơ sở dữ liệu, vì sau này ứng dụng của chúng ta sẽ có nhiều nơi cần kết nối với database nên tôi sẽ tạo 1 file config.php trong thư mục libraries để sau này có thể sử dụng lại nó nhiều lần có nội dung như sau
file libraries/config.php

<?php

$host = "localhost";
$user = "root";
$pass = "";
$db = mysql_connect($host,$user,$pass) 
      or die("Can't connect to database!");
mysql_select_db("students",$db) 
      or die("Can't select database!");
mysql_query("SET NAMES utf8");

?>
File config.php này có nhiệm vụ kết nối đến cơ sở dữ liêu mysql và chọn database có tên là students, nếu bạn nào không nhớ cú pháp kết nối database thì có thể xem lại tại đây 

- Để kết nối cơ sở dữ liệu cho file login.php chúng ta sẽ gọi file config.php vào bằng cú hàm require(" tên file ") vì file config.php nằm trong thư mục libraries nên chúng ta cần back lại một cấp thư mục ../libraries/config.php.

Khi đăng nhập chúng ta cần phải lưu phiên làm việc của người đăng nhập cho nên chúng ta sẽ sử dụng session, để sử dụng được session cho ứng dụng thì ta cần phải gọi session ra trước nhé session_start().
file login.php

<?php

session_start();
require("../libraries/config.php");

?>
- Bây giờ chúng ta tiến hành check form kiểm tra cách hành động của người dùng khi họ đăng nhập, khi họ chưa nhập tên đăng nhập hoặc chưa nhập mật khẩu thì chúng ta sẽ thông báo lỗi, ngược lại chúng ta sẽ lấy được thông tin họ vừa nhập vào và đem so sánh với thông tin trong database
file login.php

<?php
if(isset($_POST['ok']))
    $name = "";
    $pass = "";
    if($_POST['user_name'] == ""){
        echo "Please enter your name!";
        die();
    }else{
        $name = $_POST['user_name'];   
    }
    if($_POST['user_pass'] == ""){
        echo "Please enter your pass!";
        die();
    }else{
        $pass = md5($_POST['user_pass']);
    }
}
?>
- Tiếp theo sau khi người dùng nhập đầy đủ dữ liệu rồi chúng ta tiến hành truy vấn so sánh thông tin mà họ vừa nhập vào xem có tài khoản nào khớp với thông tin trong database không, nếu có thì chúng ta sẽ lấy ra thông tin của họ và ngược lại thì sẽ báo họ nhập sai tên tài khoản hoặc mật khẩu

- Để biết được thông tin họ nhập vào có khớp với database hay không chúng ta sẽ sử dụng hàm mysql_num_rows() để đếm số dòng dữ liệu trả về từ câu truy vấn, khi thông tin trùng khớp với database thì số dòng trả về luôn lớn hơn 0
file login.php

<?php

$sql = "select * from tbl_teachers where teacher_name = '".$name."' 
and teacher_pass = '".$pass."'";
$result = mysql_query($sql); // lấy kết quả câu truy vấn
$numrow = mysql_num_rows($result); // đếm số dòng dữ liệu trả về

if($numrow > 0){ // tức là nhập đúng user và pass
    // đăng nhập thành công
    // lấy thông tin của họ
    // lưu phiên làm việc
}else{ // nhập sai thông tin
    echo "Sai username hoặc password";
    die();
}
?>
- Khi họ nhập đúng thông tin rồi chúng ta tiến hành lấy ra thông tin của họ từ database như tên đăng nhập, họ tên đầy đủ, id của họ... và lưu vào phiên làm việc session
file login.php

<?php

$sql = "select * from tbl_teachers where teacher_name = '".$name."' 
and teacher_pass = '".$pass."'";
$result = mysql_query($sql); // lấy kết quả câu truy vấn
$numrow = mysql_num_rows($result); // đếm số dòng dữ liệu trả về

if($numrow > 0){ // tức là nhập đúng user và pass
    $data = mysql_fetch_assoc($result); // gán dữ liệu vào bảng
    $_SESSION['ses_id'] = $data['teacher_id']; // lưu id vào session
    $_SESSION['ses_name'] = $data['teacher_name']; // lưu name vào session
    header("location:index.php"); // chuyển về trang index.php
    exit();
}else{ // nhập sai thông tin
    echo "Sai username hoặc password";
    die();
}
?>
- Chúng ta lấy dữ liệu từ database lên và gán vào mảng bằng hàm mysql_fetch_assoc(), tiếp tục lưu 2 biến $_SESSION['ses_id'] và $_SESSION['ses_name'] mục đích để kiểm tra xem họ đã đăng nhập chưa thông qua phiên làm việc session này.

- Cuối cùng sau khi lưu session chúng ta chuyển trang về trang chủ quản trị admin, trang index.php ( Nằm trong thư mục admin, cùng cấp với file login.php ), tại trang này sẽ là trang chính để quản trị tất cả các thông tin của website như quản lý thành sinh viên, quản lý điểm, quản lý tin tức ... 

- Và đây là toàn bộ code của trang đăng nhập, hoặc bạn có thể download tại đây

<?php
session_start();
require("../libraries/config.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>PHPANDMYSQL.NET</title>
</head>
 
<body>
<?php
if(isset($_POST['ok'])){
$name = "";
$pass = "";
if($_POST['user_name'] == ""){
echo "Please enter your name!";
die();
}else{
$name = $_POST['user_name'];
}
if($_POST['user_pass'] == ""){
echo "Please enter your pass!";
die();
}else{
$pass = md5($_POST['user_pass']);
}
$sql = "select * from tbl_teachers where teacher_name = '".$name."' and teacher_pass = '".$pass."'";
$result = mysql_query($sql);
$numrow = mysql_num_rows($result);
if($numrow > 0){ // Đúng username và password
$data = mysql_fetch_assoc($result);
$_SESSION['user_id'] = $data['user_id'];
$_SESSION['user_name'] = $data['user_name'];
$_SESSION['user_level'] = $data['user_level'];
header("location:index.php");
exit();
}else{
echo "Wrong username or password!";
die();
}
}
?>
<form action="login.php" method="post">
Tên đăng nhập : <input type="text" name="user_name" size="20" /><br />
    Mật khẩu : <input type="password" name="user_pass" size="20" /><br />
    <input type="submit" name="ok" value="Đăng nhập" />
</form>
</body>
</html>

- Mở trình duyệt lên và nhập vào địa chỉ  http://localhost/project/admin/login.php để chạy ứng dụng các bạn nhé, ban nào chưa hiểu có thể download code tại đây  

Chúc các bạn thực hành tốt  

Bạn vẫn chưa hiểu vấn đề, bạn cần người trợ giúp?. Hãy click vào đây để gửi câu hỏi, mọi người sẽ support cho bạn