2015-02-28 30 views
5

Tôi đã tạo trang web của mình nhưng tôi muốn yêu cầu người dùng đăng nhập trước khi họ có thể truy cập một số trang nhất định. Ví dụ: trang chủ của tôi là index.php, có url (www.sample.com/index.php). Có nút đăng nhập trong trang này sẽ chuyển hướng đến login.php. Trong login.php trang Tôi có nút chỉnh sửa và sự kiện onclick mất tới edit.php.Chuyển hướng đến trang đăng nhập nếu người dùng chưa đăng nhập

Bây giờ, nếu tôi dán www.sample.com/edit.php URL trong thanh địa chỉ, nó đi trực tiếp đến edit.php, nhưng tôi muốn nó làm để index.php nếu người dùng là chưa đăng nhập, tương tự như cách Google yêu cầu xác thực.

+0

đã làm gì cho đến nay? –

+0

Tôi đã kiểm tra giá trị phiên – user3386779

+0

Sử dụng câu lệnh có điều kiện ** nếu ** ** else ** – starkeen

Trả lời

8

Đặt phiên sau khi đăng nhập thành công và trong edit.php kiểm tra, nếu phiên không được đặt, hãy chuyển hướng đến trang chủ.

login.php:

//put this at the first line 
session_start(); 
//if authentication successful 
$_SESSION['login'] = true; 

edit.php:

if(!$_SESSION['login']){ 
    header("location:index.php"); 
    die; 
} 
+0

Nhờ làm việc của nó – user3386779

+0

Chào mừng bạn ... –

1

Sau đó, hãy kiểm tra phiên giao dịch ngày edit.php ... Nếu trên edit.php, phiên là không có, sau đó nó sẽ được chuyển hướng đến index.php..I m nói về phiên sẽ được bắt đầu khi người dùng đăng nhập thành công

1

Bạn có thể sử dụng biến phiên làm việc này, bạn đã đặt phiên đăng nhập.

Vì vậy, vào chỉnh sửa trang bắt đầu bạn có thể viết mã sau đây để kiểm tra wheter người dùng được đăng nhập hay không ..

session_start(); 
if(!issset($_SESSION['login_session'])){ 
    header("Location:login.php"); 
    exit(); 
} 
+0

tình trạng của bạn là xấu, một đơn giản 'issset ($ _ SESSION)' là không đủ. một phiên khác có thể được đặt ở một nơi khác. –

Các vấn đề liên quan