PHP购物篮问题

时间:2013-11-14 02:02:08

标签: php mysql mysqli

我目前正在尝试在我的个人网站上实现购物篮功能,但似乎在苦苦挣扎。我已经添加了我的产品页面中的链接,并且传递了“ID”信息,但是无论何时我将产品添加到我的购物篮中,它都会将我带到我的购物篮页面,它始终显示“您的产品中没有任何商品”购物篮'。这是我的剧本,对此问题的任何帮助将不胜感激。这是我的第一次尝试,我在这方面的PHP技能是有限的,记住,如果有一个非常简单的解决方案我会道歉。

    <?php
    if ($_Get[action]=="add") {
$radio_id=$_Get[radio_id];
$_Session[$radio_id]++;
    }

    if($_SESSION[$radio_id]) { 
    echo "<table border=\"1\" padding=\"3\" width=\"40%\">"; 

    foreach($_SESSION[$radio_id] as $radio_id => $quantity) { 

    $result = mysqli_query($link, "SELECT * FROM radios WHERE              radio_id=".$_GET[radio_id]) or die( mysqli_error($link));
    $array = mysqli_fetch_array($result);

    //echo "<p>Manufacturer: " . $array[manufacturer] . "<br>";
    //echo "Model: " . $array[model] . "<br>";
    //echo "Price: " . $array[price] . "<br>";
    //echo "Description: " . $array[description] . "</p>";

    if(mysql_num_rows($result) > 0) {

    list($array[model], $array[manufacturer], $array[description], $array[price]) = mysql_fetch_row($result);

    $line_cost = $array[price] * $quantity;
    $total = $total + $line_cost;

    echo "<tr>";
    echo "<td align=\"center\">$name</td>";
    echo "<td align=\"center\">$quantity <a href=\"$_SERVER[PHP_SELF]?action=remove&id=$product_id\">X</a></td>";
    echo "<td align=\"center\">$line_cost</td>";
    echo "</tr>";
    }
    }

    echo "<tr>";
    echo "<td colspan=\"2\" align=\"right\">Total</td>";
    echo "<td align=\"right\">$total</td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td colspan=\"3\" align=\"right\"><a href=\"$_SERVER[PHP_SELF]?action=empty\" onclick=\"return confirm('Are you sure?');\">Empty Cart</a></td>";
    echo "</tr>"; 
    echo "</table>";
    }

    else{
    echo "You have no items in your shopping cart.";
    } 
    ?>

1 个答案:

答案 0 :(得分:1)

几点需要纠正:

  • $ _获取应为$_GET
  • $ _会话应为$_SESSION

由于会话语法不正确,您遇到此问题。在第4行将$ _Session更改为$_SESSION。如果您尚未开始会话,也可以在页面开头使用session_start()

更新代码:

<?php
session_start();
if ($_GET['action']=="add") {
$radio_id=$_GET['radio_id'];
$_SESSION[$radio_id]++;
}