как изменить существующий повар ie, добавив к нему несколько значений в php - PullRequest
0 голосов
/ 21 января 2020

Я хочу сохранить некоторые данные на клиентском устройстве в виде cook ie. эти данные состоят из цифр. если клиент проходит определенную страницу, я хочу, чтобы номер этой страницы был сохранен на клиентском устройстве в форме cook ie. и когда клиент переходит на другую страницу, я хочу добавить sh в значение этой новой страницы, а также существующее значение предыдущей страницы. Я хочу сохранить все это в массиве, чтобы мой веб-сайт мог использовать его для показа клиенту соответствующих предложений на странице при его следующем посещении. Код, сделанный мной ниже. это не работает должным образом. Заранее спасибо.

<?php
$name ="namehere";
if (!isset($_COOKIE['namehere'])) {
    $name ="namehere";
    $myArr = array("1", "4", "6", "8","5","9");
    $count = array_count_values($myArr);
    $myJSON = json_encode($myArr);

    setcookie('namehere', $myJSON, time() + (60*60*24*1), "/"); // 86400 = 1 day
    echo "Cookie named $name is not set!";
}
else {
    echo "Cookie named $name is set!<br>";
    $cookieloaded = $_COOKIE['namehere'];
    $myjson = json_decode($cookieloaded);
    $pushin = array_push($myjson,"11");

    $mynewJSON = json_encode($pushin);

    setcookie('namehere', $mynewJSON, time() + (60*60*24*1), "/"); // 86400 = 1 day
    echo $_COOKIE['namehere'];
}
?>

1 Ответ

0 голосов
/ 21 января 2020

Я проверил ваш код и произошла ошибка с функцией. Попробуйте следующее:

if (!isset($_COOKIE['namehere'])) {
    $name ="namehere";
    $myArr = array("1", "4", "6", "8","5","9");
    $count = array_count_values($myArr);
    $myJSON = json_encode($myArr);

    setcookie('namehere', $myJSON, time() + (60*60*24*1), "/"); // 86400 = 1 day
    echo "Cookie named $name is not set!";
}
else {
    echo "Cookie named $name is set!<br>";

    $cookieloaded = $_COOKIE['namehere'];
    $myjson = json_decode($cookieloaded,true);
    $myjson[] = "11";

    $mynewJSON = json_encode($myjson);

    setcookie('namehere', $mynewJSON, time() + (60*60*24*1), "/"); // 86400 = 1 day
    echo $_COOKIE['namehere'];
}


json_decode(json, true) => true to convert json to array
array_push($myjson,"11");  => $myjson is a pointer, replace to $myjson[] = 11;

Я симулировал несколько раз, и код добавляет 11 к повару ie в каждом тесте.

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