10/10/2018, 10:54

Lỗi Session trong PHP ???

Chào các bạn
Trong site của mình, mỗi khi người dùng login vào thì mình bật một cờ hiệu $_SESSION['login']='yes' và có một trang kiểm tra cờ đó trước mỗi trang khác. Không hiểu tại sao chỉ trong một thời gian ngắn, khoảng vài phút thôi là cờ đó không còn là yes nữa và site lại yêu cầu người dùng login. Mình đã kiểm tra cấu hình PHP.ini rồi nhưng chưa khắc phục được lỗi đó. BẠn nào có kinh nghiệm giúp mình với.
NumPad0 viết 13:06 ngày 10/10/2018
Khà khà...vấn đề khoai đây ! Bạn có thể tham khao trong cuốn "Professional PHP Programming" của Wrox hay là cuốn "Building Website with PHP" để tham khảo !
NumPad0 viết 12:59 ngày 10/10/2018
Bạn có thể tìm thấy hững cuốn sách trên tại : http://61.72.31.49/software/books/php/ . Chúc bạn tìm được cách giải quyết !
nguyenthu viết 13:11 ngày 10/10/2018
Bạn diamond,
Bạn có : session_start() hay không ? Vì bật cờ hiệu có thể khác với start một session !
Riêng về các biến gởi lên Server, tùy Server mà nó chỉ được lưu lại lâu hay mau. Không hiểu có phải vì cái này không. Bạn nên xem lại Server Hosting của bạn.
Thân
Diamond viết 12:55 ngày 10/10/2018
Dĩ nhiên là có session_start() rồi. CÒn server hosting, mình đã kiểm tra cấu hình rồi, session chỉ hết hạn khi trình duyệt đóng lại.
Mình paste đoạn đó lên, các bạn kiểm tra tiếp mình nhé:

[Session]
; Handler used to store/retrieve data.
session.save_handler = files

; Argument passed to save_handler. In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
session.save_path = C:\PHP\sessiondata ; argument passed to save_handler

; Whether to use cookies.
session.use_cookies = 1


; Name of the session (used as cookie name).
session.name = PHPSESSID

; Initialize session on request startup.
session.auto_start = 0

; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 0

; The path for which the cookie is valid.
session.cookie_path = /

; The domain for which the cookie is valid.
session.cookie_domain =

; Handler used to serialize data. php is the standard serializer of PHP.
session.serialize_handler = php

; Percentual probability that the 'garbage collection' process is started
; on every session initialization.
session.gc_probability = 1

; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
session.gc_maxlifetime = 1440

; Check HTTP Referer to invalidate externally stored URLs containing ids.
; HTTP_REFERER has to contain this substring for the session to be
; considered as valid.
session.referer_check =

; How many bytes to read from the file.
session.entropy_length = 0

; Specified here to create the session id.
session.entropy_file =

;session.entropy_length = 16

;session.entropy_file = /dev/urandom

; Set to {nocache,private,public} to determine HTTP caching aspects.
session.cache_limiter = nocache

; Document expires after n minutes.
session.cache_expire = 180

; use transient sid support if enabled by compiling with --enable-trans-sid.
session.use_trans_sid = 1

url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeent ry"
COTTONBELLY viết 13:07 ngày 10/10/2018
bạn thử tăng giá trị của session.cookie_lifetime = 0 lên cao hơn xem sao nhé , vì mình thấy bạn bật chức năng session.use_cookies = 1 , nhưng ko rõ bạn có sử dụng session_cookie hay ko
Bang Gia viết 13:02 ngày 10/10/2018
bạn đã có session, nhưng sau 1 khoảng thời gian nó tự động unset, muốn nó tồn tại lâu hơn, thì bạn set time tồn tại của nó lại.
Bài liên quan
0