PDA

View Full Version : Làm sao để quay lại trang hiện tại khi đăng nhập trong PHP?



haindse
21-11-2007, 12:35
Bác nào cho tôi xin đoạn code PHP redirect về current page như trang DDTH>COM này. Khi vào mục nào đó yêu cầu phải đăng nhập thì form đăng nhập hiện ra. Khi đăng nhập thành công thì nó lại quay được về mục hiện tại đang xem. Tôi làm chạy trên localhost thì được, Còn trên host Linux thì không quay về trang đang xem được mà nó chỉ quay về trang chủ ^_^.

amida
21-11-2007, 13:03
Ban đưa đoạn code đó lên đây đi, để dễ chỉnh sửa + kiểm chứng.
Bạn có thể dùng session lưu lại page path thông qua url (get). Sau khi đăng nhập thì header (meta, window.location.href) với tham số là session đã có.

raulgonzalez
22-11-2007, 23:14
Hoặc là bạn quy định 1 biến trong URL dạng login.php?return= Cách này khá nhiều trang làm.

haindse
23-11-2007, 15:42
login.php?return= ===> cách này là quay về 1 trang mặc định sẵn từ trước , đâu phải quay về trang hiện tại của user đang xem. Tôi muốn làm như của DDTH.com này cơ mà. Tôi có dùng biến $_SERVER[REFERER]; nhưng nó lại quay về trang trứoc đó đựoc thôi ( đấy là trang check login), không quay về trang đang xem được! Nếu để register_global On thì lại về trang hiện tại đựoc.

sub
23-11-2007, 16:44
login.php?return= ===> cách này là quay về 1 trang mặc định sẵn từ trước , đâu phải quay về trang hiện tại của user đang xem. Tôi muốn làm như của DDTH.com này cơ mà. Tôi có dùng biến $_SERVER[REFERER]; nhưng nó lại quay về trang trứoc đó đựoc thôi ( đấy là trang check login), không quay về trang đang xem được! Nếu để register_global On thì lại về trang hiện tại đựoc.

có thiếu gì cách, căn bản là lưu cái url cần quay lại vào 1 biến sesion hoặc cookie, còn làm sao xác định trang nào muốn quay lại? Giả sử các trang public cho mọi user xem không cần login, còn các trang private yêu cầu login thì ngay trên đầu trang include 1 đoạn code kiểm tra, nếu đã login thì chạy tiếp, nếu không lưu ngay cái URL trang đó vào cookie hoặc sesion và chuyển đến trang login form, thế là coi như trang login đã có đc URL cần quay về. Khi Login form submit thì gửi kèm cái URL theo dạng hidden hoặc cứ để trong cookie, sesion, sau khi check tài khoản thì gắn nó vào <script> window.location='<?=$URL?>' và gắn thêm vô cái <a href="<?=$URL?>">Nhan vao day neu khong muon doi lau!!!</a> cho người ta nhấn

sonit
28-11-2007, 15:28
hay đấy, đúng cái mình đang cần thanks