09/10/2018, 23:15
Giỏ hàng bị lỗi - Help Help Help !
Chào mọi người,
Hiện nay mình đang xây dựng 1 shop bán sách online, làm mãi rồi hôm nay mới đến phần xây dựng giỏ đi chợ, tuy nhiên mình lại gặp một số lỗi như sau :
Lỗi 1: Khi cập nhật số lượng thì click 2 lần mới thấy hiển thị đúng thông tin mới cập nhật, nhưng khi click lần thứ 3 thì nó lại quay trở về giá trị ban đầu.
Lỗi 2: Khi thêm càng nhiều tiêu đề sách vào giỏ hàng thì không hiểu sao bảng hiển thị các mặt hàng càng ngày càng cách xa so với chữ "GIỎ HÀNG CỦA BẠN".
Có một vấn đề ở đây là lỗi thứ 2 chỉ xảy ra khi sử dụng trình duyệt Internet Explorer mà không xảy ra khi dùng FireFox.
Xin mọi người giúp mình sửa với. Cảm ơn rất nhiều !
À, bạn xem demo trang web mình đang xây dựng tại địa chỉ http://www.dhts.edu.vn/tttn/bookshop2.
Dưới đây là mã nguồn của giỏ hàng : (file cart.php)
Hiện nay mình đang xây dựng 1 shop bán sách online, làm mãi rồi hôm nay mới đến phần xây dựng giỏ đi chợ, tuy nhiên mình lại gặp một số lỗi như sau :
Lỗi 1: Khi cập nhật số lượng thì click 2 lần mới thấy hiển thị đúng thông tin mới cập nhật, nhưng khi click lần thứ 3 thì nó lại quay trở về giá trị ban đầu.
Lỗi 2: Khi thêm càng nhiều tiêu đề sách vào giỏ hàng thì không hiểu sao bảng hiển thị các mặt hàng càng ngày càng cách xa so với chữ "GIỎ HÀNG CỦA BẠN".
Có một vấn đề ở đây là lỗi thứ 2 chỉ xảy ra khi sử dụng trình duyệt Internet Explorer mà không xảy ra khi dùng FireFox.
Xin mọi người giúp mình sửa với. Cảm ơn rất nhiều !
À, bạn xem demo trang web mình đang xây dựng tại địa chỉ http://www.dhts.edu.vn/tttn/bookshop2.
Dưới đây là mã nguồn của giỏ hàng : (file cart.php)
PHP Code:
<? // SHOPPING CART
session_start();
session_register('cart');
include('includes/cart_functions.php');
include('header.php');
@ $new = $_GET***91;'new'***93;; // Lay bien new tu trinh duyet, new = book_id
if ($new) // new item selected
{
if (!isset($_SESSION***91;'cart'***93;))
{
$_SESSION***91;'cart'***93;=array();
$_SESSION***91;'total_price'***93;='0';
}
if (isset($_SESSION***91;'cart'***93;***91;$new***93;))
$_SESSION***91;'cart'***93;***91;$new***93;++;
else
$_SESSION***91;'cart'***93;***91;$new***93; = 1;
$_SESSION***91;'total_price'***93; = get_total_price($_SESSION***91;'cart'***93;);
} // end if ($new)
echo '<center><h3>GIỎ HÀNG CỦA BẠN</center></h3> ';
if ($_SESSION***91;'cart'***93; && (array_count_values($_SESSION***91;'cart'***93;)))
{
// Neu co san pham trong gio hang thi
// hien thi gio hang
echo '<center>';
echo '<table style="border-collapse:collapse" bordercolor="#C7E2EF" width="96%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td width="3%" bgcolor="#FFFFE6" class="morehlt"><div align="center" class="style4">STT </div></td>
<td width="57%" bgcolor="#FFFFE6" class="morehlt"><div align="center" class="style4">Tên sách </div></td>
<td width="10%" bgcolor="#FFFFE6" class="morehlt"><div align="center" class="style4">Đơn giá </div></td>
<td width="9%" bgcolor="#FFFFE6" class="morehlt"><div align="center" class="style4">Số lượng </div></td>
<td width="8%" bgcolor="#FFFFE6" class="morehlt"><div align="center" class="style4">K.lượng </div></td>
<td width="13%" bgcolor="#FFFFE6" class="morehlt"><div align="center" class="style4">Thành tiền </div></td>
</tr> ';
echo '<form action=cart.php method=post name=form1>';
//Hien thi tung mat hang theo dong
$total_weight = get_total_weight($_SESSION***91;'cart'***93;);
$total_price = 0;
$stt=0;
foreach ($_SESSION***91;'cart'***93; as $book_id => $qty)
{
$price = get_book_price($book_id);
$sub_total_price = $price * $qty;
$book_title = get_book_title($book_id);
$weight = get_book_weight($book_id);
$total_price += $sub_total_price;
$stt++;
echo '<tr>
<td><div align="center">'.$stt.'</div></td>
<td><div align="left"> <b><a href=main.php?page=book_details&book_id='.$book_id.'>'.$book_title.'</a></b></div></td>
<td><div align="right">'.number_format($price).'</div></td>
<td><div align="right"><input type="text" name='.$book_id.' value="'.$qty.'" size="3" style="TEXT-ALIGN: right" /></div></td>
<td><div align="right">'.$weight.' g</div></td>
<td><div align="right">'.number_format($sub_total_price).' VNĐ</div></td>
</tr>';
} //Ket thuc hien thi cac mat hang theo dong
echo '<tr>
<td></td>
<td><div align="right"><strong>Tổng cộng: </strong></div></td>
<td colspan="3"><div align="right"><b>'.number_format($total_weight).' g</b></div></td>
<td><div align="right"><b>'.number_format($total_price).' VNĐ</b></div></td>
</tr>';
echo '</table></center>';
$target = 'index.php';
if ($new) // Neu da chon mua 1 quyen sach, tiep tuc mua hang o category do
{
$details = get_catid_of_book($new);
if ($details)
$target = 'main.php?page=product&cat_id='.$details;
}
echo '<br /><br /><center>';
echo '<a href='.$target.'><img src=images/muatiep.gif alt="Tiếp tục mua hàng"></img></a>';
echo ' ';
echo '<a href=delete_cart.php><img src=images/xoagiohang.gif alt="Trả lại toàn bộ"></img></a>';
echo ' ';
echo '<input type="hidden" name="save" value="TRUE">';
echo '<input type="image" alt="Cập nhật giỏ hàng" style="cursor:hand" src = "images/capnhat.gif" onclick="doUpdate();" >';
echo ' ';
echo '<a href=checkout.php><img alt="Đặt hàng" src=images/dathang.gif></img></a></center>';
echo '<br><br><br>';
echo '<p class="style6"> <span class="style5"> + Trên đây là các mặt hàng đã có trong giỏ, bạn có thể thay đổi số lượng của từng sản phẩm, nếu muốn loại bỏ một sản phẩm nào đó chọn số lượng là 0 hay xóa bỏ ô số lượng tương ứng, sau đó nhấn vào <strong>Cập nhật</strong>. <br />
<br />
+ Sau khi đã lựa chọn xong các sản phẩm vừa ý, bạn hãy chọn <strong>Đặt hàng</strong> để tiếp tục phiên mua bán. <br />
<br />
+ Để quay lại mua sản phẩm khác chọn <strong>Mua tiếp</strong>. <br />
<br />
+ Nếu không muốn mua các sản phẩm này, bạn chọn <strong>Hủy bỏ</strong>. </span></p> ';
echo '</form>';
}
// Ket thuc hien thi gio hang
else // neu gio hang rong
{
echo '<center><b>Không có sản phẩm nào trong Giỏ hàng của bạn.</b>';
echo '<br><br>';
echo 'Mời bạn <a href=main.php?page=product&cat_id=1>tiếp tục mua hàng</a>';
echo '<br><br><br><br><br><br><br><br><br><br><br></center>';
}
echo '<br>';
if ($_POST***91;'save'***93;)
{
foreach ($_SESSION***91;'cart'***93; as $book_id => $qty)
{
if ($_POST***91;$book_id***93;==0) // Neu gia tri trong form bang 0
unset ($_SESSION***91;'cart'***93;***91;$book_id***93;);
else
$_SESSION***91;'cart'***93;***91;$book_id***93; = $_POST***91;$book_id***93;;
}
$_SESSION***91;'total_price'***93; = get_total_price($_SESSION***91;'cart'***93;);
}
include('footer.php');
?>
<script language = "javascript">
function doUpdate()
{
document.form1.submit();
}
</script>
<link href="css/valhalla2.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.style4 {font-size: 11px; }
.style5 {font-size: 12px}
.style6 {color: #666666}
-->
</style>
Bài liên quan
"Lỗi 1: Khi cập nhật số lượng thì click 2 lần mới thấy hiển thị đúng thông tin mới cập nhật, nhưng khi click lần thứ 3 thì nó lại quay trở về giá trị ban đầu."nếu bị như thế này bạn sau khi cập nhật nên cho chuyển đến 1 trang khác "trang rỗng thôi" dùng thẻ Meta trong trang này để reset lại trình duyệt khoảng 5 giây sau đó chuển lại về cart.php.Hy vọng đúng
Có một vấn đề ở đây là lỗi thứ 2 chỉ xảy ra khi sử dụng trình duyệt Internet Explorer mà không xảy ra khi dùng FireFox.