whenever i am entering the quantity of item i got error undefined offset.
i am sending my full code:-
this is so.php for shopping cart:-
this is pro.php for product:-
this is cart.php for cart:-
i am sending my full code:-
this is so.php for shopping cart:-
Code:
<html> <center><table width="100%" height="300"> <tr width="100%" height="100%"> <td width="70%" height="70%"> <?php session_start(); $server="localhost"; $user="root"; $password=""; $db="online sabzi mandi"; mysql_connect($server,$user,$password) or die("sorry can't connect to mysql"); mysql_select_db($db) or die("sorry can't connect to database"); if(isset($_GET['page'])) { $pages=array("pro","cart","11"); if (in_array($_GET['page'],$pages)){ $_page=$_GET['page']; $quantity='$_POST[quantity]'; }else{ $_page="pro"; } } else{ $_page="pro"; } ?> <?php require($_page.".php" ); ?> </td> <td width="30%" height="70%"> <center><h1>cart</h1></center> <table> <tr> <td><b>name</b></td> <td><b>item price</b></td> </tr> <?php $sql="select * from products where id IN("; foreach($_SESSION['cart'] as $id => $value ){ $sql.=$id.","; } $sql=substr($sql, 0, -1).")"; $query=mysql_query($sql); //$quantity='$_POST[quantity]'; $quantity = isset($_POST["quantity"]) ? $_POST["quantity"] : 'No data from $_POST'; $totalprice=0; if(!empty($query)){ while ($row=mysql_fetch_array($query)) { $subtotal=$_SESSION['cart'][$row['id']][$quantity]*$row['price']; $totalprice+=$subtotal; ?> <tr> <td><?php echo $row['name'] ?> x <?php echo $_SESSION['cart'][$row['id']][$quantity]?></td> <td><?php echo $_SESSION['cart'][$row['id']][$quantity]*$row['price'] ?></td> </tr> <?php } }else{ echo "You need to add some items.your cart is empty"; echo "<img src='http://bytes.com/images/empty-cart-dark.png' width='150' height='140'></br>"; } ?> <b>Total price:</b> <?php echo $totalprice ?><br> <a href="http://bytes.com/so.php?page=cart">Go to Cart</a> </td> </tr> </table> </center> </html>
this is pro.php for product:-
Code:
<html> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="http://bytes.com/css/style.css"> <script src='//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'></script> <script src="http://bytes.com/js/incrementing.js"></script> </head> <?php if(isset($_GET['action']) && $_GET['action']=="add" ) { $id=intval($_GET['id']); $quantity='$_POST[quantity]'; if(isset($_SESSION['cart'][$id])){ $_SESSION['cart'][$id][$quantity]; }else{ $sql_s="select * from products where id={$id}"; $query_s=mysql_query($sql_s); if(mysql_num_rows($query_s)!=0){ $row_s=mysql_fetch_array($query_s); $_SESSION['cart'][$row_s['id']]=array( "quantity" => $_POST['quantity'] , "price" =>$row_s['price'] ); }else{ $message="this product id is invalid"; } } } ?> <table width="100%"> <tr width="100%" height="100%"> <td width="70%" height="70%"> <?php if(isset($message)){ echo "$message"; } //echo print_r($_SESSION['cart']); ?> <table width="100%"> <tr> <td>name</td> <td>price</td> <td>Quantity in Kg</td> </tr> <?php $sql="select * from products"; $query=mysql_query($sql); while($row=mysql_fetch_array($query)){ ?> <tr> <td><?php echo $row['name'] ?></td> <td><?php echo $row['price'] ?></td> <form method="post" action="so.php?page=pro&action=add&id=<?php echo $row['id'] ?>"> <td class="numbers-row"> <input type="text" name="quantity" id="quantity" value="1"><br> </td> <td class="buttons"> <input type="submit" value="Add to cart" id="submit"> </td> </form> </tr> <?php } ?> </table> </td> </tr> </table>
this is cart.php for cart:-
Code:
<?php if(isset($_POST['submit'])) { foreach($_POST['quantity'] as $key => $value) { if($value==0){ unset($_SESSION['cart'][$key]); }else{ $_SESSION['cart'][$key]['quantity']=$value; } } } ?> <h1>view cart</h1> <a href="http://bytes.com/shopping_cart.php?page=products">Go back to product page</a> <form method="post" action="http://bytes.com/shopping_cart.php?page=cart"> <table width="100%" height="70%"> <tr> <th>name</th> <th>quantity in kg</th> <th>price</th> <th>items price</th> </tr> <?php $sql="select * from products where id IN("; foreach($_SESSION['cart'] as $id => $value){ $sql.=$id.","; } $sql=substr($sql, 0, -1).")"; $query=mysql_query($sql); $totalprice=0; if(!empty($query)){ while ($row=mysql_fetch_array($query)) { $subtotal=$_SESSION['cart'][$row['id']]['quantity']*$row['price']; $totalprice+=$subtotal; ?> <tr> <td> <?php echo $row['name'] ?></td> <td> <select name="quantity[<?php echo $row['id'] ?>]" value="<?php echo $_SESSION['cart'][$row['id']]['quantity']?>"/> <option>0</option> <option>0.5</option> <option>1</option> <option>2</option> <option>3</option> <option>4</option> </select></td> <td> <?php echo $row['price'] ?></td> <td> <?php echo $_SESSION['cart'][$row['id']]['quantity']*$row['price'] ?></td> </tr> <?php } }else{ echo "<h3><i>You need to add some items.your cart is empty</i></h3>"; } ?> <tr> <td>total price <?php echo $totalprice ?></td> </tr> </table> <button type="submit" name="submit">update cart</button> ******<a href="http://bytes.com/2.html" target="_blank">Place Order</a> <p>to remove an item set its quantity to 0</p> </form> <?php ?>
Comment