Не правильно отображается количество файлов cookie - PullRequest
1 голос
/ 22 июля 2011

У меня есть один файл basket.php, который отлично отображает счет, но в другом файле php product.php он всегда отображает 0, кодировки ниже:

basket.php

<?php
//include(dirname(__FILE__)."/../config.php");

if (isset($_COOKIE["products"])) {
    //Count of all products in basket
    $BasketCount = count($_COOKIE['products']);
  //Loop through and get each cookie
    foreach ($_COOKIE['products'] as $name) {
        $name = htmlspecialchars($name);
        echo "$name <a href='remove.php?remove=$name'>Click here to remove from basket</a> <br />\n";
    }
    echo "Basket Count: $BasketCount";

}else{
    echo "Basket is empty";
}
?>

product.php (только строка, которая получает количество корзин)

$basketcount = count($_COOKIE['products']);

Вот как я устанавливаю куки

addtobasket.php

<?php
include(dirname(__FILE__)."/../config.php");

$product = $_GET['p'];

setcookie("products[$product]", $product);


echo "$product added to basket";
//Show current basket products


?>

Ответы [ 3 ]

1 голос
/ 22 июля 2011

Может быть проблема с путем - http://www.php.net/manual/en/function.setcookie.php, $path параметр.Или домен.

1 голос
/ 22 июля 2011

Не фактический ответ, но тем не менее связанный:

Предполагая, что вы создаете коммерческий веб-сайт с системой корзин / корзин, я бы посоветовал: НЕ ПОЛЬЗУЙТЕСЬ НА COOKIES , никогда.Он хранится на стороне клиента и может быть легко изменен.Более того, некоторые браузеры просто отказывают им, и поэтому ваша корзина не будет работать.

Вместо этого используйте $_SESSION[], они хранят только идентификатор клиентской стороны.Безопаснее, как от взлома кода, так и от всего остального.

0 голосов
/ 22 июля 2011

может быть, вы используете product.php до того, как файл cookie установлен ..

кроме этого кода, это хорошо для меня.

или вы можете проверить, установлен ли cookie с помощью этого кода.

если (Исеть ($ _ COOKIE [ 'продукты'] [$ продукт])) {

  echo "cookie is set..";

}

чтобы у вас была точная идея ..

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