как использовать php self и передавать информацию на другие страницы - PullRequest
0 голосов
/ 21 сентября 2010

Я делаю небольшой проект, который действует как тележка. Когда я нажимаю эту ссылку:

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 голосов
/ 21 сентября 2010

Вы получаете сообщение об ошибке, потому что на некоторых (но не на всех) серверах PHP_SELF уже является определенной константой, поэтому $_SERVER[PHP_SELF] аналогично вызову $_SERVER['/path/commitbuy.php'].*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...