Được rồi, tôi đã thiết lập một phiên ... nhưng bây giờ làm cách nào để làm cho nó hoạt động trên các trang khác của tôi?
Tôi đã thử làm
@session_start[];
if[isset[$_SESSION['$userName']]] {
echo "Your session is running " . $_SESSION['$userName'];
}
hỏi ngày 30 tháng 3 năm 2010 lúc 2:05Mar 30, 2010 at 2:05
5
Nếu thiết lập PHP của bạn rõ ràng [phiên viết ok] và cookie thường được gửi đến trình duyệt [và bảo quản], bạn sẽ có thể làm điều gì đó như thế này
Trên trang đầu tiên:
session_start[];
$_SESSION['userName'] = 'Root';
Trên trang thứ hai:
session_start[];
if[isset[$_SESSION['userName']]] {
echo "Your session is running " . $_SESSION['userName'];
}
Hãy cẩn thận session_start [] phải được gọi trước khi bất kỳ đầu ra nào được gửi, vì vậy nếu bạn phải sử dụng @ for session_start, nó có thể ẩn các cảnh báo.
Vì đây là những cảnh báo, nếu ví dụ được đưa ra không hoạt động, hãy cố gắng thêm điều này trước khi gọi session_start:
error_reporting[E_ALL];
Đã trả lời ngày 30 tháng 3 năm 2010 lúc 12:15Mar 30, 2010 at 12:15
BenoitbenoitBenoit
3,5212 Huy hiệu vàng22 Huy hiệu bạc20 Huy hiệu đồng2 gold badges22 silver badges20 bronze badges
1
Trên trang đầu tiên [Test1.php],
Trên trang thứ hai [test2.php],
Sam
7.16515 Huy hiệu vàng45 Huy hiệu bạc65 Huy hiệu Đồng15 gold badges45 silver badges65 bronze badges
Đã trả lời ngày 6 tháng 7 năm 2012 lúc 8:26Jul 6, 2012 at 8:26
Hãy chắc chắn rằng session_start [] nằm ở đầu mỗi trang bạn muốn sử dụng các phiên trên. Sau đó, bạn có thể tham khảo các biến phiên giống như trong ví dụ của bạn.
Đã trả lời ngày 30 tháng 3 năm 2010 lúc 2:08Mar 30, 2010 at 2:08
John Condejohn CondeJohn Conde
Phim thương hiệu vàng 215K9898 gold badges450 silver badges491 bronze badges
1
Kiểm tra xem cookie phiên đang được gửi đến trình duyệt trong bản hit đầu tiên và được trình duyệt trả lại trong các yêu cầu tiếp theo. Có rất nhiều lý do tại sao điều này có thể thất bại - thông thường PHP đã xóa các tiêu đề trước khi gọi đến session_start [] [có thể là do UTF -8 BOM ký chars hoặc chỉ là lập trình lộn xộn].
Đảm bảo rằng bạn đã có báo cáo lỗi được bật.
C.
Đã trả lời ngày 30 tháng 3 năm 2010 lúc 11:38Mar 30, 2010 at 11:38
Symcbeansymcbeansymcbean
47K6 Huy hiệu vàng57 Huy hiệu bạc90 Huy hiệu Đồng6 gold badges57 silver badges90 bronze badges
Hãy chắc chắn rằng cả hai trang đều nằm trên cùng một miền. Ngay cả www.site.com cũng khác với site.com
Sử dụng echo session_id []; cũng giúp xác định session_id của bạn trên mỗi trang, đảm bảo có cùng một
Đã trả lời ngày 17 tháng 2 năm 2014 lúc 13:09Feb 17, 2014 at 13:09
Hãy nhận biết độ nhạy của trường hợp trong các biến tên $_session
.
Do đó $_SESSION['userName']
khác nhau với
session_start[];
$_SESSION['userName'] = 'Root';
0.
Chrisf ♦♦
Huy hiệu vàng 132K3030 gold badges252 silver badges323 bronze badges
Đã trả lời ngày 23 tháng 8 năm 2014 lúc 10:04Aug 23, 2014 at 10:04
1
- Tạo một trang đăng nhập, người dùng không được đăng nhập mà không cần ID chính xác và Passowrd.
- Sau khi đăng nhập người dùng đến nhà, ở đây người dùng có thể đăng xuất và quay lại trang đăng nhập
Lưu ý: Người dùng không được truy cập trang chủ mà không cần thông qua trang đăng nhập.
Đã trả lời ngày 6 tháng 2 năm 2017 lúc 8:15Feb 6, 2017 at 8:15
Trang đầu tiên [hello1.php] - Phiên lưu trữ
$userName = "Nick";
session_start[];
$_SESSION['username'] = $userName;
Trang thứ hai [Hello2.php] - Phiên đầu ra
session_start[];
$userName = $_SESSION['username'];
echo "$userName";
Đầu ra: Nick
Đã trả lời ngày 23 tháng 5 năm 2017 lúc 8:29May 23, 2017 at 8:29
SynosynoSyno
1.0368 Huy hiệu bạc25 Huy hiệu Đồng8 silver badges25 bronze badges