63
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi là một lập trình viên NOOB nên tôi xin lỗi trước cho bất kỳ sai lầm rõ ràng nào. Tôi đã dành cả tuần qua để tạo ra một cơ sở dữ liệu sản phẩm. Tôi đã có quá điểm mà tôi có thể thêm sản phẩm bằng biểu mẫu, xem tất cả các sản phẩm được thêm vào, v.v. Tôi đang sử dụng các phiên được tạo thông qua dữ liệu đầu vào biểu mẫu. Tôi đang đấu tranh để bao gồm một trang sản phẩm xóa hoạt động, tôi đã thử sử dụng Untet để xóa biến nhưng không thể làm việc quá.
Thêm trang sản phẩm đặt biến phiên:
$_SESSION['Products'][] = $_POST; //is how i set the session on the add products page.
unset $_SESSION['Products'][]; //is how i have tried to clear the session although it does not work.
Bất kỳ điểm nào theo đúng hướng sẽ được đánh giá cao!
Ali
1.3789 huy hiệu bạc16 Huy hiệu đồng9 silver badges16 bronze badges
Đã hỏi ngày 2 tháng 6 năm 2016 lúc 8:32Jun 2, 2016 at 8:32
9
Bạn có thể hủy bỏ biến phiên bằng cách sử dụng:
3 - Giải phóng tất cả các biến phiên [nó bằng với việc sử dụng:unset[$var];
4 cho mã không dùng nữa]unset[$var];
5 - Chỉ có chỉ mục sản phẩm trong biến phiên. [Hãy nhớ: bạn phải sử dụng như một hàm, không như bạn đã sử dụng]unset[$var];
6 - Phá hủy tất cả dữ liệu được đăng ký vào một phiênunset[$var];
Để biết sự khác biệt giữa việc sử dụng
unset[$var];
3 và unset[$var];
6, hãy đọc câu trả lời này. Những sự giúp đỡ đó.
JSOWA
7.3584 Huy hiệu vàng43 Huy hiệu bạc52 Huy hiệu đồng4 gold badges43 silver badges52 bronze badges
Đã trả lời ngày 2 tháng 6 năm 2016 lúc 8:38Jun 2, 2016 at 8:38
ThamilhanthamilhanThamilhan
12.9k5 Huy hiệu vàng36 Huy hiệu bạc59 Huy hiệu Đồng5 gold badges36 silver badges59 bronze badges
3
Untet là một chức năng. Do đó, bạn phải gửi biến nào phải bị phá hủy.
unset[$var];
Trong trường hợp của bạn
unset [$_SESSION["products"]];
Nếu bạn cần đặt lại cả biến phiên, chỉ cần gọi
session_destroy [];
Đã trả lời ngày 2 tháng 6 năm 2016 lúc 8:47Jun 2, 2016 at 8:47
Don ddon dDon D
7261 Huy hiệu vàng9 Huy hiệu bạc19 Huy hiệu đồng1 gold badge9 silver badges19 bronze badges
3
Tôi bao gồm câu trả lời này trong trường hợp ai đó đến trang này vì lý do tương tự tôi đã làm. Tôi chỉ lãng phí một khoảng thời gian xấu hổ khi cố gắng theo dõi vấn đề. Tôi đã gọi:
unset[$_SESSION['myVar']];
từ một tập lệnh đăng xuất. Sau đó, điều hướng đến một trang yêu cầu đăng nhập và máy chủ vẫn nghĩ rằng tôi đã đăng nhập. Vấn đề là tập lệnh đăng xuất không được gọi:
session_start[];
Mở một phiên VAR không hoạt động trừ khi bạn bắt đầu phiên trước.
Đã trả lời ngày 2 tháng 9 năm 2018 lúc 21:53Sep 2, 2018 at 21:53
Jeff Martinjeff MartinJeff Martin
3894 Huy hiệu bạc4 Huy hiệu đồng4 silver badges4 bronze badges
Nếu bạn hoàn toàn muốn xóa phiên, bạn có thể sử dụng điều này:
session_unset[];
session_destroy[];
Trên thực tế, cả hai đều không cần thiết nhưng nó không đau.
Nếu bạn chỉ muốn xóa một phần cụ thể, tôi nghĩ bạn cần điều này:
unset[$_SESSION['Products']];
//or
$_SESSION['Products'] = "";
Tùy thuộc vào những gì bạn cần.
Đã trả lời ngày 2 tháng 6 năm 2016 lúc 8:37Jun 2, 2016 at 8:37
JrszjrszJRsz
2.8414 Huy hiệu vàng26 Huy hiệu bạc44 Huy hiệu đồng4 gold badges26 silver badges44 bronze badges
1
unset[$var];
9 là một hàm, không phải là một toán tử. Sử dụng nó như unset [$_SESSION["products"]];
0 để giải quyết khóa phiên đó. Tuy nhiên, bạn cũng có thể sử dụng unset [$_SESSION["products"]];
1. [Đảm bảo bắt đầu phiên với unset [$_SESSION["products"]];
2]Đã trả lời ngày 2 tháng 6 năm 2016 lúc 8:38Jun 2, 2016 at 8:38
Thamilhanthamilhanmehulmpt
12.9k5 Huy hiệu vàng36 Huy hiệu bạc59 Huy hiệu Đồng12 gold badges45 silver badges84 bronze badges
1
Untet là một chức năng. Do đó, bạn phải gửi biến nào phải bị phá hủy.
Trong trường hợp của bạn
Nếu bạn cần đặt lại cả biến phiên, chỉ cần gọi
Đã trả lời ngày 2 tháng 6 năm 2016 lúc 8:47
Don ddon dJan 18, 2020 at 13:15
7261 Huy hiệu vàng9 Huy hiệu bạc19 Huy hiệu đồngAmin
Tôi bao gồm câu trả lời này trong trường hợp ai đó đến trang này vì lý do tương tự tôi đã làm. Tôi chỉ lãng phí một khoảng thời gian xấu hổ khi cố gắng theo dõi vấn đề. Tôi đã gọi:3 silver badges12 bronze badges
unset[$var];
0
từ một tập lệnh đăng xuất. Sau đó, điều hướng đến một trang yêu cầu đăng nhập và máy chủ vẫn nghĩ rằng tôi đã đăng nhập. Vấn đề là tập lệnh đăng xuất không được gọi:
Mở một phiên VAR không hoạt động trừ khi bạn bắt đầu phiên trước.33 gold badges29 silver badges34 bronze badges
Đã trả lời ngày 2 tháng 9 năm 2018 lúc 21:53Jun 19, 2020 at 12:06
1
unset[$var];
1Jeff Martinjeff MartinMar 19 at 20:35
3894 Huy hiệu bạc4 Huy hiệu đồng
unset[$var];
2
Nếu bạn hoàn toàn muốn xóa phiên, bạn có thể sử dụng điều này:
Trên thực tế, cả hai đều không cần thiết nhưng nó không đau.9 gold badges35 silver badges35 bronze badges
Nếu bạn chỉ muốn xóa một phần cụ thể, tôi nghĩ bạn cần điều này:Jun 15 at 18:59