PHP MVC CĂN BẢN
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

[Module User] - Thư viện Role

Tiếp tục series xây dựng project với PHP căn bản thì trong bài này mình sẽ viết thư viện xử lý phân quyền và kiểm tra trạng thái đăng nhập. Tại sao mình lại viết thành một thư viện? Tại vì tất cả các thao tác trong admin đều phải kiểm tra chức vụ của người dùng rồi mới tiến hành xử lý.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Viết thư viện phân quyền Role

Tất cả các hàm liên quan đến phân quyền mình sẽ đặt trong file libs/role.php. Bạn mở file này lên và nhập nội dung sau vào:

 

// Hàm thiết lập là đã đăng nhập
function set_logged($username, $level){
    session_set('ss_user_token', array(
        'username' => $username,
        'level' => $level
    ));
}

// Hàm thiết lập đăng xuất
function set_logout(){
    session_delete('ss_user_token');
}

// Hàm kiểm tra trạng thái người dùng đã đăng hập chưa
function is_logged(){
    $user = session_get('ss_user_token');
    return $user;
}

// Hàm kiểm tra có phải là admin hay không
function is_admin(){
    $user  = is_logged();
    if (!empty($user['level']) && $user['level'] == '1'){
        return true;
    }
    return false;
}

 

Bài viết này được đăng tại [free tuts .net]

Mình sẽ giải thích sơ lược các hàm trong thư viện.

Hàm thiết lập trạng thái đăng nhập:

 

function set_logged($username, $level){
    session_set('ss_user_token', array(
        'username' => $username,
        'level' => $level
    ));
}

 

Đối với mỗi người dùng chúng ta sẽ lưu hai thông tin là tên đăng nhập và cấp độ. Để lưu thông tin người dùng thì ta phải sử dụng đến thư viện Session lưu với key là ss_user_token.

Hàm thiết lập đăng xuất:

 

function set_logout(){
    session_delete('ss_user_token');
}

 

Để thiết lập đăng xuất ta chỉ việc sử dụng Session để xóa đi key ss_user_token.

Hàm kiểm tra trạng thái đăng nhập:

 

function is_logged(){
    $user = session_get('ss_user_token');
    return $user;
}

 

Để kiểm tra trạng thái đăng nhập thì ta sẽ kiểm tra giá trị Session của key ss_user_token có tồn tại hay không.

Hàm kiểm tra có phải là admin hay không:

 

function is_admin(){
    $user  = is_logged();
    if (!empty($user['level']) && $user['level'] == '1'){
        return true;
    }
    return false;
}

 

Để kiểm tra người dùng có phải là admin hay không thì ta kiểm tra level nếu bằng 1 là admin và ngược lại không phải là admin.

2. Lời kết

Như vậy là mình đã viết xong thư viện quản lý phân quyền và đăng nhập của người dùng. Bài tiếp theo chúng ta sẽ tìm hiểu về file bootstrap admin/index.php.

Cùng chuyên mục:

Hàm key_exists() trong PHP

Hàm key_exists() trong PHP

Cách sử dụng key_exists() trong PHP

Hàm mysqli_fetch_row() trong PHP

Hàm mysqli_fetch_row() trong PHP

Cách sử dụng mysqli_fetch_row() trong PHP

Hàm end() trong PHP

Hàm end() trong PHP

Cách sử dụng end() trong PHP

Hàm mysqli_field_count() trong PHP

Hàm mysqli_field_count() trong PHP

Cách sử dụng mysqli_field_count() trong PHP

Hàm count() trong PHP

Hàm count() trong PHP

Cách sử dụng count() trong PHP

Hàm mysqli_field_seek() trong PHP

Hàm mysqli_field_seek() trong PHP

Cách sử dụng mysqli_field_seek() trong PHP

Hàm compact() trong PHP

Hàm compact() trong PHP

Cách sử dụng compact() trong PHP

Hàm mysqli_field_tell() trong PHP

Hàm mysqli_field_tell() trong PHP

Cách sử dụng mysqli_field_tell() trong PHP

Hàm array_values() trong PHP

Hàm array_values() trong PHP

Cách sử dụng array_values() trong PHP

Hàm mysqli_free_result() trong PHP

Hàm mysqli_free_result() trong PHP

Cách sử dụng mysqli_free_result() trong PHP

Hàm array_unshift() trong PHP

Hàm array_unshift() trong PHP

Cách sử dụng array_unshift() trong PHP

Hàm mysqli_get_charset() trong PHP

Hàm mysqli_get_charset() trong PHP

Cách sử dụng mysqli_get_charset() trong PHP

Hàm array_shift() trong PHP

Hàm array_shift() trong PHP

Cách sử dụng array_shift() trong PHP

Hàm mysqli_get_client_stats() trong PHP

Hàm mysqli_get_client_stats() trong PHP

Cách sử dụng mysqli_get_client_stats() trong PHP

Hàm array_unique() trong PHP

Hàm array_unique() trong PHP

Cách sử dụng array_unique() trong PHP

Hàm mysqli_get_client_version() trong PHP

Hàm mysqli_get_client_version() trong PHP

Cách sử dụng mysqli_get_client_version() trong PHP

Hàm array_uintesect() trong PHP

Hàm array_uintesect() trong PHP

Cách sử dụng array_uintesect() trong PHP

Hàm mysqli_get_connection_stats() trong PHP

Hàm mysqli_get_connection_stats() trong PHP

Cách sử dụng mysqli_get_connection_stats() trong PHP

Hàm array_sum() trong PHP

Hàm array_sum() trong PHP

Cách sử dụng array_sum() trong PHP

Hàm mysqli_get_host_info() trong PHP

Hàm mysqli_get_host_info() trong PHP

Cách sử dụng mysqli_get_host_info() trong PHP

Top