Refer URL

Một kinh nghiệm khá hay khi khần view có liên quan đến permission (login required).

Bình thường tôi code phần này khá ẩu, nếu user truy cập vào 1 page đòi hỏi xác thực (authorized) thì tôi chỉ làm đơn giản là redirect nó sang login form. Nếu nhập đúng user & pass thì lại redirect nó về trang home. Vấn đề là ở đây. Khách hàng yêu cầu là khi login xong, phải trở lại đúng trang trước đó.

Dùng session để giải quyết. Okie, nhưng một số chỗ session chết sặc tiết. Vậy tại sao không đẩy nó lên URL nhỉ? Và nữa, viết thêm 1 cái hàm chuyên kiểm tra đã login hay chưa như sau:

function check_login($uid)

{
    global $user,$base_url;
    if(!$user->uid) {
        $preURL = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        header('Location: '.$base_url.'/member/login?target='.$preURL);
    }
}

function loginProcess() {
   //if login successful
      header('Location: '.$_GET['target']);
   //else set error message or redirect to login
   // code here...
}
Posted in PHP
It's me ;-)

Nam Khanh Do

Khanh is a full stack web developer with over 10 years of experience developing for the web. You can reach him on Twitter, like him on Facebook and connect with him on LinkedIn.

Leave a Reply

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