php повар ie и / или набор повар ie выпуск - PullRequest
0 голосов
/ 27 марта 2020

извините за мой английский sh, у меня на сайте неизвестная проблема:

я пытаюсь сохранить тележку в поваре ie:

var_dump из cook ie перед сохранением:

Код:

array (size=3)
'name' => string 'cart'
'value' => string '[{"id":"13991","id_prod":"18176","qty":1,"gravure":"","options_infos":[],"cadeau":0},{"id":"13983","id_prod":"18168","qty":1,"gravure":"","options_infos":[],"cadeau":0},{"id":"13987","id_prod":"18172","qty":1,"gravure":"","options_infos":[],"cadeau":0},{"id":"279543","id_prod":"29990","qty":1,"gravure":"","options_infos":[],"cadeau":0},{"id":"279554","id_prod":"30001","qty":1,"gravure":"","options_infos":[],"cadeau":0},{"id":"279539","id_prod":"29986","qty":1,"grav ure":"","options_infos":[],"cadeau":0},{"id'... (length=3301)
'expire' => int 2592000

эта функция php активируется на моей странице для обновления корзины повара ie, это то, что блокируется, когда я у меня в корзине более 20 товаров

PHP код:

public function refreshCookie() {
$items = array();
if (parent::contents()) {
foreach (parent::contents() as $key => $value) {

$prod = new stdClass();

$prod->id = $value['id'];
$prod->id_prod = $value['id_prod'];
$prod->qty = $value['qty'];

if (isset($value['gravure'])){
$prod->gravure = $value['gravure'];
} 
if (isset($value['options_infos'])){
$prod->options_infos = $value['options_infos'];
}
$prod->cadeau = $value['cadeau'];
$items[] = $prod;
}
}

$cookie = array(
'name' => 'cart',
'value' => json_encode($items),
'expire' => $this->CI->config->item('cookie_panier_lifetime')
);
$this->CI->input->set_cookie($cookie);
} 

это нормально работает на моем локальном компьютере, но не в сети, когда у меня более 20 товаров, если оно работает, если я удаляю строку set_cookie ($this->CI->input->set_cookie($cookie);) и обратите внимание, что если я использую php setcookie, это то же самое, так что на самом деле это не проблема codeigniter: /

я не понимаю, любая помощь будет оценена с уважением

1 Ответ

0 голосов
/ 29 марта 2020

Размер повара ie может быть проблемой.

От этого ответа

LimitRequestLine
Это Директива устанавливает количество байтов, которое будет разрешено в строке запроса HTTP. Директива LimitRequestLine позволяет администратору сервера уменьшить или увеличить ограничение на допустимый размер строки HTTP-запроса клиента. Поскольку строка запроса состоит из метода HTTP, URI и версии протокола, директива LimitRequestLine накладывает ограничение на длину запроса-URI, разрешенного для запроса на сервере. Серверу нужно, чтобы это значение было достаточно большим, чтобы вместить любое из его имен ресурсов, включая любую информацию, которая может быть передана в части запроса GET-запроса.
Эта директива дает администратору сервера больший контроль над ненормальным поведением клиентского запроса, который может быть полезен для предотвращения некоторых форм атак типа «отказ в обслуживании».

Может быть полезно связаться с поставщиком услуг.

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