@sunnyrio

Почему не меняется значение в сессии?

Почему это условие не срабатывает? Причем условие после ELSE работает корректно.
if(isset($_POST['add_to_bag'])){
	$prod = get_one_product($_POST['id_bag_prod']);
	$count = 1;
	if(array_search($prod['id'], $_SESSION['bag'])){
		$_SESSION['bag'][$prod['id']]['title'] = 'dgdfgdfgd';
	}


Вот весь кусок кода
<?php defined("CATALOG") or die("Access denied");

include 'main_controller.php';
include "models/{$view}_model.php";

if(isset($_POST['add_to_bag'])){
	$prod = get_one_product($_POST['id_bag_prod']);
	$count = 1;
	if(array_search($prod['id'], $_SESSION['bag'])){
		$_SESSION['bag'][$prod['id']]['title'] = 'dgdfgdfgd';
	}
	else
	{
		$_SESSION['bag'][$prod['id']] = array('price' => $prod['price'], 'title' => $prod['title'], 'count' => $count);
	}
	print_arr($_SESSION['bag']);
	exit();
}

include VIEW . "{$view}.php";

?>
  • Вопрос задан
  • 89 просмотров
Решения вопроса 2
@SharuPoNemnogu
не язык плохой, программисты такие...
if (isset($_SESSION['bag'][$prod['id']])) {} else {}

array_search ищет значение в массиве, а $prod['id'] это ключ
Ответ написан
ubukulov
@ubukulov
Веб-разработчик
Попробуйте вот так

if(array_key_exists($prod['id'], $_SESSION['bag'])) {  
      // если есть такой ключ в массиве $_SESSION['bag']
}else{
      // иначе
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
@sunnyrio Автор вопроса
$val = $prod['id'];
array_search($val, $_SESSION['bag']) так?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы