добавить массив переменных в Cookie, а затем получить ошибку - PullRequest
0 голосов
/ 15 февраля 2012

После ввода некоторой переменной

Код PHP:

$CartItem = array(
        'itemID' => $itemID,
        'ProductName' => $ProductName,
        'Option' => $Option,
        'Quantity' => $Quantity,
        'Price' => $Price,
        'Total' => $Total
    );

setcookie('CartItem', $CartItem, null);

Ошибка вывода:

Warning: setcookie() expects parameter 2 to be string, array given in /Users/user/Sites/app/addtocart.php on line 46

Ответы [ 2 ]

0 голосов
/ 15 февраля 2012

Как показывает ошибка, данные cookie должны быть в строковом формате. Что еще более важно, вы не должны хранить реальные данные в cookie, потому что пользователь может их редактировать.

Поскольку вы используете PHP, вы можете использовать сеансы ... Вы можете использовать session_start(), который установит cookie-файл, которым вам не нужно управлять, а затем вы можете установить данные на сервере переменных $_SESSION -side.

Смотрите здесь: http://php.net/manual/en/function.session-start.php

Обратите внимание, что session_start () должен быть вызван до того, как что-либо будет выведено на каждой странице.

0 голосов
/ 15 февраля 2012

Мы можем добавить одну переменную за раз в кокки, так что сделайте это

$CartItem[] = array(
        'itemID' => $itemID,
        'ProductName' => $ProductName,
        'Option' => $Option,
        'Quantity' => $Quantity,
        'Price' => $Price,
        'Total' => $Total
    );

foreach($CartItem as $key=>$value)
{
setcookie($key, $value, null);

}
...