Возникли проблемы при настройке cookie и вставке в базу данных

Я занимаюсь созданием сайта электронной коммерции, и у меня возникают проблемы с функцией setcookie ().

Это мой файл add_cart:

<?php
require_once $_SERVER['DOCUMENT_ROOT'].'/onlineStore/system/init.php';

$product_id = sanitize($_POST['product_id']);

$size = sanitize($_POST['size']);

$available = sanitize($_POST['available']);

$quantity = sanitize($_POST['quantity']);

$item = array();

$item[] = array(

'id' => $product_id,
'size' => $size,
'quantity' => $quantity,
);

$domain = ($_SERVER['HTTP_HOST'] != 'localhost') ? $_SERVER['HTTP_HOST'] : false;

$query = $db->query("SELECT * FROM products WHERE id = '{$product_id}'");

$product = mysqli_fetch_assoc($query);

$_SESSION['success_flash'] = $product['title'].' was added to your cart.';//CHECK TO SEE IF CART COOKIE EXISTS
if($cart_id != ''){

//adding code later

}
else{
//ADD CART TO THE DATABASE AND SET COOKIE
$items_json = json_encode($item);

$cart_expire = date("Y-m-d H:i:s", strtotime("+30 days"));

$db->query("INSERT INTO cart (itmes,expire_date) VALUES

('{$items_json}','{$cart_expire}')");

$cart_id = $db->insert_id;

setcookie(CART_COOKIE,$cart_id,CART_COOKIE_EXPIRE,'/',$domain,false);

}
?>

И еще один файл, в котором я определяю cookie как константу:

<?php
define('BASEURL',$_SERVER['DOCUMENT_ROOT'].'/onlineStore/');

define('CART_COOKIE','edHjw3345LKJ1z');

define('CART_COOKIE_EXPIRE',time() + (86400 * 30));
?>

Когда я проверяю страницу с помощью инструментов разработчика браузеров, создается впечатление, что файл cookie устанавливается после перезагрузки страницы, но значение показывает 0, путь показывает n / a, домен показывает n / a, и expire показывает n / a и данные не вставлен в базу данных. Кто-нибудь знает, что не так? Пожалуйста помоги.

У меня также есть $ cart_id, установленный в операторе if в моем файле init.php:

$cart_id = '';
//IF COOKIE EXISTS, SET COOKIE TO cart_id
if(isset($_COOKIE[CART_COOKIE])){

$cart_id = sanitize($_COOKIE[CART_COOKIE]);
}

0

Решение

Итак, я решил эту проблему, очистив старые куки, которые я установил ранее, и теперь все, кажется, работает. Спасибо за помощь.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector