ช่วยอธิบายการทำงานของโค้ดนี้ให้หน่อยได้ไหม ช่วยตอบหน่อยนะค่ะ
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ช่วยอธิบายการทำงานของโค้ดนี้ให้หน่อยได้ไหม ช่วยตอบหน่อยนะค่ะ
ช่วยอธิบายการทำงานของโค้ดนี้ให้หน่อยได้ไหม ช่วยตอบหน่อยนะค่ะ
Copy
ลองศึกษาแล้วค่ะ บางอันเข้าใจ บางอันไม่เข้าใจ อยากให้ผู้รู้ช่วยอธิบายหน่อยค่ะ แล้วก็การทำงานของ $return_url คือเอาค่าจากไหนมา return index.php <?php session_start(); include_once("config.php"); ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Shopping Cart</title> <link href="style/style.css" rel="stylesheet" type="text/css"> </head> <body> <div id="products-wrapper"> <h1>Products</h1> <div class="products"> <?php //current URL of the Page. cart_update.php redirects back to this URL $current_url = base64_encode($url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); $results = $mysqli->query("SELECT * FROM products ORDER BY id ASC"); if ($results) { //fetch results set as object and output HTML while($obj = $results->fetch_object()) { echo '<div class="product">'; echo '<form method="post" action="cart_update.php">'; echo '<div class="product-thumb"><img src="images/'.$obj->product_img_name.'"></div>'; echo '<div class="product-content"><h3>'.$obj->product_name.'</h3>'; echo '<div class="product-desc">'.$obj->product_desc.'</div>'; echo '<div class="product-info">'; echo 'Price '.$currency.$obj->price.' | '; echo 'Qty <input type="text" name="product_qty" value="1" size="3" />'; echo '<button class="add_to_cart">Add To Cart</button>'; echo '</div></div>'; echo '<input type="hidden" name="product_code" value="'.$obj->product_code.'" />'; echo '<input type="hidden" name="type" value="add" />'; echo '<input type="hidden" name="return_url" value="'.$current_url.'" />'; echo '</form>'; echo '</div>'; } } ?> </div> <div class="shopping-cart"> <h2>Your Shopping Cart</h2> <?php if(isset($_SESSION["products"])) { $total = 0; echo '<ol>'; foreach ($_SESSION["products"] as $cart_itm) { echo '<li class="cart-itm">'; echo '<span class="remove-itm"><a href="cart_update.php?removep='.$cart_itm["code"].'&return_url='.$current_url.'">×</a></span>'; echo '<h3>'.$cart_itm["name"].'</h3>'; echo '<div class="p-code">P code : '.$cart_itm["code"].'</div>'; echo '<div class="p-qty">Qty : '.$cart_itm["qty"].'</div>'; echo '<div class="p-price">Price :'.$currency.$cart_itm["price"].'</div>'; echo '</li>'; $subtotal = ($cart_itm["price"]*$cart_itm["qty"]); $total = ($total + $subtotal); } echo '</ol>'; echo '<span class="check-out-txt"><strong>Total : '.$currency.$total.'</strong> <a href="view_cart.php">Check-out!</a></span>'; echo '<span class="empty-cart"><a href="cart_update.php?emptycart=1&return_url='.$current_url.'">Empty Cart</a></span>'; }else{ echo 'Your Cart is empty'; } ?> </div> </div> </body> </html> cart_update.php
<?php session_start(); include_once("config.php"); //empty cart by distroying current session if(isset($_GET["emptycart"]) && $_GET["emptycart"]==1) { $return_url = base64_decode($_GET["return_url"]); //return url session_destroy(); header('Location:'.$return_url); } //add item in shopping cart if(isset($_POST["type"]) && $_POST["type"]=='add') { $product_code = filter_var($_POST["product_code"], FILTER_SANITIZE_STRING); //product code $product_qty = filter_var($_POST["product_qty"], FILTER_SANITIZE_NUMBER_INT); //product code $return_url = base64_decode($_POST["return_url"]); //return url //limit quantity for single product if($product_qty > 10){ die('<div align="center">This demo does not allowed more than 10 quantity!<br /><a href="http://sanwebe.com/assets/paypal-shopping-cart-integration/">Back To Products</a>.</div>'); } //MySqli query - get details of item from db using product code $results = $mysqli->query("SELECT product_name,price FROM products WHERE product_code='$product_code' LIMIT 1"); $obj = $results->fetch_object(); if ($results) { //we have the product info //prepare array for the session variable $new_product = array(array('name'=>$obj->product_name, 'code'=>$product_code, 'qty'=>$product_qty, 'price'=>$obj->price)); if(isset($_SESSION["products"])) //if we have the session { $found = false; //set found item to false foreach ($_SESSION["products"] as $cart_itm) //loop through session array { if($cart_itm["code"] == $product_code){ //the item exist in array $product[] = array('name'=>$cart_itm["name"], 'code'=>$cart_itm["code"], 'qty'=>$product_qty, 'price'=>$cart_itm["price"]); $found = true; }else{ //item doesn't exist in the list, just retrive old info and prepare array for session var $product[] = array('name'=>$cart_itm["name"], 'code'=>$cart_itm["code"], 'qty'=>$cart_itm["qty"], 'price'=>$cart_itm["price"]); } } if($found == false) //we didn't find item in array { //add new user item in array $_SESSION["products"] = array_merge($product, $new_product); }else{ //found user item in array list, and increased the quantity $_SESSION["products"] = $product; } }else{ //create a new session var if does not exist $_SESSION["products"] = $new_product; } } //redirect back to original page header('Location:'.$return_url); } //remove item from shopping cart if(isset($_GET["removep"]) && isset($_GET["return_url"]) && isset($_SESSION["products"])) { $product_code = $_GET["removep"]; //get the product code to remove $return_url = base64_decode($_GET["return_url"]); //get return url foreach ($_SESSION["products"] as $cart_itm) //loop through session array var { if($cart_itm["code"]!=$product_code){ //item does,t exist in the list $product[] = array('name'=>$cart_itm["name"], 'code'=>$cart_itm["code"], 'qty'=>$cart_itm["qty"], 'price'=>$cart_itm["price"]); } //create a new product list for cart $_SESSION["products"] = $product; } //redirect back to original page header('Location:'.$return_url); } ?>
Oarthai
03-03-2015
04:45:07
คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา
โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ