2015-12-14 93 views
3

對於一個學校項目,我試圖用MySQLi創建一個只有php的shoppingcart。爲此我有一個名爲index.php的目錄。在這是與產品的表和每個產品後有一個按鈕,應該將項目添加到購物車。PHP按鈕href不工作

唯一的問題是我無法正常工作。

<?php 
    session_start(); 
    include 'connect.php'; 
    $qry = "select * from products"; 
    $result = mysqli_query($connect, $qry); 

    echo "<table class='catalogue'>"; 
    echo "<tr><th>ID</th><th>Code</th><th>Name</th><th>Description</th><th>Image</th></th><th>Price</th><th>Buy</th></tr>"; 

    while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 

     echo "<tr><td>"; 
     echo $row['id']; 
     echo "</td><td>"; 
     echo $row['product_code']; 
     echo "</td><td>"; 
     echo $row['product_name']; 
     echo "</td><td>"; 
     echo $row['product_desc']; 
     echo "</td><td>"; 
     echo $row['product_img_name']; 
     echo "</td><td>"; 
     echo $row['price']; 
     echo "</td><td>"; 
     echo "<input type='submit' value='Add' href='cart.php?id=['id']'/>"; 
     echo "</td></tr>"; 
    } 

    echo "</table>"; 
    ?> 

cart.php看起來像這樣。

<?php 
session_start(); 
require 'connect.php'; 
require 'item.php'; 
$result = mysqli_query($connect, 'select * from products where id='.$_GET['id']); 
$product = mysqli_fetch_object($result); 
if(isset($_GET['id'])){ 
    $item = new Item(); 
    $item->id = $product->id; 
    $item->name = $product->product_name; 
    $item->price = $product->price; 
    $item->quantity = 1; 
    $_SESSION['cart'][] = $item; 
} 
echo "<table class='cart'>"; 
echo "<tr><th>ID</th><th>Name</th><th>Price</th><th>Quantity</th><th>Sub Total</th></tr>"; 
$cart = unserialize(serialize($_SESSION['cart'])); 
for($i=0; $i<count($cart); $i++){ 
    echo "<tr><td>"; 
    echo $cart[$i]->id; 
    echo "</td><td>"; 
    echo $cart[$i]->product_name; 
    echo "</td><td>"; 
    echo $cart[$i]->price; 
    echo "</td><td>"; 
    echo $cart[$i]->quantity; 
    echo "</td><td>"; 
    echo $cart[$i]->price * $cart[$i]->quantity; 
    echo "</td></tr>"; 
    } 
?> 

請原諒您可能會看到的任何其他錯誤,我對PHP比較陌生。

+1

按鈕沒有hrefs。查看HTML表單上的教程。 – developerwjk

+0

這個'select * from產品的id ='。$ _ GET ['id']'打開你的SQL注入。用準備好的語句將用戶輸入與SQL分離。 – chris85

+0

'echo「Add」;' – Steve

回答

6

按鈕沒有HREF中,錨(<a>)做的,所以使用錨這將是

echo "<a href='cart.php?id=$row[id]'/>Add</a>"; 

你總是可以風格它像一個按鈕,如果你希望它看起來像一個。

+1

謝謝你,這個伎倆。 – Aleathia

+0

^^^請務必檢查這個答案是正確的答案,請 – iSkore