Giỏ hàng và Session |
Thứ sáu, 05 Tháng 7 2013 |
Có rất nhiều bạn hỏi tôi về cách để thực hiện một giỏ hàng. Và cái thắc mắc của các bạn nằm ở chỗ làm sao để thêm nhiều món hàng. Chạy lui chạy tới trên toàn trang lựa chọn sản phẩm thật ưng ý cho mình. Sau đó rồi mới thanh toán, và các thông tin sản phẩm khi thanh toán đều đầy đủ.
Giỏ hàng và Session Có rất nhiều bạn hỏi tôi về cách để thực hiện một giỏ hàng. Và cái thắc mắc của các bạn nằm ở chỗ làm sao để thêm nhiều món hàng. Chạy lui chạy tới trên toàn trang lựa chọn sản phẩm thật ưng ý cho mình. Sau đó rồi mới thanh toán, và các thông tin sản phẩm khi thanh toán đều đầy đủ. Điều quan trọng ở đây, cái mà các bạn chưa hiểu là làm cách nào, tuy rằng bạn đã sử dụng session khá nhiều cho công việc của mình, nhưng về giỏ hàng bạn lại suy nghĩ quá cao siêu. Thực tế hãy tưởng tượng, bạn đã gọi là giỏ hàng tức là một chỗ để quăng sản phẩm vào. Tương tự với chúng ta, khi khách hàng click mua món hàng thì chúng ta lấy nó quăng vào cái giỏ Session của chúng ta ^^. Luôn luôn lưu ý rằng, ở tất cả những nơi mà muốn xử lý Seission thì :
/* Khai báo sử dụng session ngay dòng đầu tiên. Đây là một thủ tục không thể thiếu trong Giỏ hàng bằng Session */ session_start(); ?> Đại loại như một mô hình mà tôi đã thiết kế cho Project của mình thế này. 1. Hình ảnh sản phẩm 2. Chọn sản phẩm 3. Đến và Xem giỏ hàng Trong đoạn code HTML bạn sẽ để đại loại như thế này cho nút chọn mua với title là một attribute chứa ID của sản phẩm cần ADD + Đoạn code jquery để lấy giá trị của title gửi đến trang xử lý và tạo Session như sau : $('.buy').click(function(){ var str =$(this).attr('title'); $.ajax({ url :'create_order.php', data :'id='+str, dataType :'html', type : 'POST', success : function(html){ //Nội dung hiển thị khi hoàn thành } }); }); Với trang PHP create_order.php
session_start(); if(isset($_POST['id']) AND $_POST['id']!=''){ $id = $_POST['id']; $manu = $_POST['manu']; $type = $_POST['type']; $color = $_POST['color']; $num = $_POST['num']; $_SESSION['s_pro'][] = array('id'=>$id, 'manu'=>$manu, 'type'=>$type, 'color'=>$color, 'num'=>$num); echo 'GREAT'; } ?> Như vậy cứ mỗi lần bấm Chọn mua thì sản phẩm đó sẽ được gửi đến trang create_order.php và được thêm vào mảng Session như trên hình. Sau khi đến trang GIỏ hàng, việc của bạn là chỉ việc cho phép hiển thị các thông tin đã được lưu trong mảng 2 chiều đó và xử lý đặt hàng vào Database chẳng hạn. Như vậy việc chính xác bạn thấy rằng chúng ta hoàn toàn có thể sử dụng Session để làm cho giỏ hàng. mua sach truc tuyennha sach minh khainhan chung hoc50 sac thai tap 4sachgiamgiasach tam ly hoctu dien han viet hien dai |