Có vấn đề sau trong giỏ hàng PHP.
Một bãi chứa của phiên của tôi trông giống như:
Array ([username] => [email protected] [key] => 1)
Các giỏ mua hàng có ba nút:
<form name='cartForm' action='cart.php' method='post'>
<input type='image' value='submit' name='continueshopping' src='x.jpg' />
<input type='image' value='submit' name='update' src='y.jpg' />
<input type='image' value='submit' name='checkout' src='z.jpg' />
bất cứ khi nào tôi nhấn một trong các nút, trang tái tải và làm những gì nó cần phải (tức là loại bỏ hoặc thêm một mục) ... nhưng mảng phiên được thay đổi thành sau (tùy thuộc vào nút được đẩy)
Array ([username] => [email protected] [key] => continueshopping_y)
Array ([username] => [email protected] [key] => update_y)
Array ([username] => [email protected] [key] => checkout_y)
[key] là một từ dành riêng? Tại sao giá trị của $ _SESSION ['key'] bị ghi đè từ một biểu mẫu chỉ POST mọi thứ? Đây là một vấn đề đối với dự án của chúng tôi vì chúng tôi đã lưu trữ ID tài khoản người dùng trong [key], nhưng giá trị được ghi đè mỗi khi nút được đẩy vào giỏ hàng.
Mã thực tế khá dài và đăng ở đây sẽ không thực tế. Không biết phải đăng gì, vì giỏ hàng không bao giờ tương tác với phiên khác ngoài việc lấy session_id(). Thực sự tôi chỉ tự hỏi liệu có ai có kinh nghiệm tương tự không. Tôi không thể tạo lại vấn đề trên máy chủ cục bộ của mình (PHP5), chỉ tồn tại trên máy chủ trực tiếp (PHP4).
Xin cảm ơn trước.
Thay đổi foreach ($ _POST là $ key => $ value) để foreach ($ _POST là $ key2 => $ value) làm mọi thứ hoạt động. Vì vậy, tôi cho rằng câu trả lời là một sự kết hợp của câu trả lời của AndreKR và của bạn - biến khóa _POST được trộn lẫn với biến khóa _SESSION. – Hovvit