如何使用php self并将信息传递给其他页面

时间:2010-09-21 03:32:04

标签: php session

我正在做一个像购物车一样的小项目。 当我点击此链接时:

echo "<td><a href=\"$_SERVER[PHP_SELF]?action=zero&commitbuy.php?ids=$id&qoh=$qtyhand&qtb=$quantity\">ok</a></td>";

我希望程序执行零操作,当我点击ok链接时,它将从购物车表中删除产品:

<?php

    $product_id = $_GET['id'];   
    $action     = $_GET['action']; 


    if($product_id && !productExists($product_id)) {
        die("Error. Product Doesn't Exist");
    }

    switch($action) {   

        case "add":
            $_SESSION['cart'][$product_id]++; 
        break;

        case "remove":
            $_SESSION['cart'][$product_id]--; 
            if($_SESSION['cart'][$product_id] == 0) unset($_SESSION['cart'][$product_id]); 
        break;

        case "zero":
            $_SESSION['cart'][$product_id]==0;

        break;

        case "empty":
            unset($_SESSION['cart']); 
        break;

    }
?>

然后,commitbuy.php将更新该特定产品的数量。 你有什么建议我会这样做。它似乎不起作用。当我添加此代码时:

$_SERVER[PHP_SELF]?action=zero

到这一个:

 echo "<td><a href=\"commitbuy.php?ids=$id&qoh=$qtyhand&qtb=$quantity\">ok</a></td>";

1 个答案:

答案 0 :(得分:0)

您收到错误是因为在某些(但不是全部)服务器上,PHP_SELF已经是已定义的常量,因此$_SERVER[PHP_SELF]与调用$_SERVER['/path/commitbuy.php']相同 要解决此问题,请改用$_SERVER['PHP_SELF']