|
|
|
|
|
для: cheops
(24.12.2011 в 20:10)
| | извините у меня ошибка вылезла, помогите пожалуйсто!!!!
вот код:
<? session_start();
$_SESSION['product_id'][$incart] = $product_id;
function addtocart($product_id, $product_price) {
if(is_array($_SESSION['product_id']) && !empty($_SESSION['product_id'])){
if(in_array($product_id, $_SESSION['product_id'])){
echo "<p class=contGLAV2><font color=#BEBEBE><strong>товар уже есть в корзине</font></strong></p>";
}
else
{
$_SESSION['prod_count']++;
$incart=$_SESSION['prod_count'] - 1;
$_SESSION['product_id'][$incart] = $product_id;
$_SESSION['product_price'][$incart] = $product_price;
$_SESSION['product_count'][$incart] = 1;
}
}
}
?>
|
а это дамп сессии карзины и там получаю 1 пустой index - от чего это???
<?
Array
(
[product_id] => Array
(
[] => Array
(
[] =>
[0] => 1
[1] => 2
[2] => 3
)
[0] => 1
[1] => 2
[2] => 3
)
[prod_count] => 3
[product_price] => Array
(
[0] => 50000
[1] => 100000
[2] => 34000
)
[product_count] => Array
(
[0] => 1
[1] => 1
[2] => 1
)
)
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(26.12.2011 в 13:56)
| | СПАСИБО ВАМ БОЛЬШОЕ!!!!! РАЗОБРАЛСЯ ЧТО Я НЕПРАВИЛЬНО СДЕЛАЛ!!!!!!! ОГРОМНОЕ СПАСИБО!!!!!!!!!!
вот что получилось:
<? session_start();
$_SESSION['product_id'][$incart] = $product_id;
function addtocart($product_id, $product_price) {
if(is_array($_SESSION['product_id']) && !empty($_SESSION['product_id'])){
if(in_array($product_id, $_SESSION['product_id'])){
echo "<p class=contGLAV2><font color=#BEBEBE><strong>товар уже есть в корзине</font></strong></p>";
}
else
{
$_SESSION['prod_count']++;
$incart=$_SESSION['prod_count'] - 1;
$_SESSION['product_id'][$incart] = $product_id;
$_SESSION['product_price'][$incart] = $product_price;
$_SESSION['product_count'][$incart] = 1;
}
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(26.12.2011 в 13:56)
| | ошибку не выводит - но не чего и не добавляет!
может я опять не так проверяю ( не туда добавил) потому что без этой проверки все нормально - но ошибку выводит:
<?
function addtocart($product_id, $product_price) {
if(is_array($_SESSION['product_id']) && !empty($_SESSION['product_id'])){
if(in_array($product_id, $_SESSION['product_id'])){
echo "<p class=contGLAV2><font color=#BEBEBE><strong>товар уже есть в корзине</font></strong></p>";
}
else
{
$_SESSION['prod_count']++;
$incart=$_SESSION['prod_count'] - 1;
$_SESSION['product_id'][$incart] = $product_id;
$_SESSION['product_price'][$incart] = $product_price;
$_SESSION['product_count'][$incart] = 1;
}
}
}
?>
|
ошибку выводит только один раз при первом добавлении товара - потом все нормально - это когда без проверки is_array | |
|
|
|
|
|
|
|
для: RuslanBLR
(26.12.2011 в 13:41)
| | Попробуйте изменить вот это условие
if(is_array($_SESSION['product_id'])){
| следующим образом
if(is_array($_SESSION['product_id']) && !empty($_SESSION['product_id'])){
|
| |
|
|
|
|
|
|
|
для: cheops
(24.12.2011 в 20:10)
| | СПАСИБО БОЛЬШОЕ - ВСЕ ПОЛУЧИЛОСЬ!!!!!!!! извините просто не туда вставил код.
Подскажите не получается убрать эту ошибку:
Warning: in_array() [function.in-array]: Wrong datatype for second argument in
|
уже все перепробовал - как вы сказали поставить перед i
f(in_array($product_id, $_SESSION['product_id']))
|
проверку:
if(is_array($_SESSION['product_id']))
|
но не чего не выходит. Помогите пожалуйсто, при таком коде вообще не чего не добавляет в корзину :
<? session_start();
function addtocart($product_id, $product_price) {
if(is_array($_SESSION['product_id'])){
if(in_array($product_id, $_SESSION['product_id'])){
echo "<p class=contGLAV2><font color=#BEBEBE><strong>товар уже есть в корзине</font></strong></p>";
}
else
{
$_SESSION['prod_count']++;
$incart=$_SESSION['prod_count'] - 1;
$_SESSION['product_id'][$incart] = $product_id;
$_SESSION['product_price'][$incart] = $product_price;
$_SESSION['product_count'][$incart] = 1;
}
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(24.12.2011 в 20:10)
| | а что нам это дает - что мы узнали что переменная является массивом.
может можно реализовать так, только получается что товар добавляется 1 раз и все, и другие уже тоже не добавляются, как правильно написать чтобы $_SESSION[product_id] не добавила такой же id: ?
if($_SESSION[product_id]=$_SESSION[product_id]) | |
|
|
|
|
|
|
|
для: RuslanBLR
(24.12.2011 в 19:26)
| | Совершенно верно. | |
|
|
|
|
|
|
|
для: cheops
(24.12.2011 в 19:10)
| | видимо я не туда вствил проверку if(in_array($product_id, $_SESSION['product_id']))
как я думаю, потому что когда обнавляю страницу и массив заполняется, то и ошибка пропадает, то и товар продолжает добавлятся в карзину при обновлении!!!!! | |
|
|
|
|
|
|
|
для: RuslanBLR
(24.12.2011 в 19:24)
| | или вот так?
if(is_array($_SESSION['product_id']))
|
| |
|
|
|
|
|
|
|
для: cheops
(24.12.2011 в 19:10)
| | извините я не понимаю!!!!
проверка in_array() это как? так что ли? извините еще раз
if (isset(in_array($_SESSION['product_id'])))
|
| |
|
|
|
|