kombo
Новичок
shopping cart
Делаю подобие корзины в упрощенном варианте, т.е. нужно чтобы добавив один раз id, больше не добавлялось(цену считать не надо). Вроде работает, но проблема в том, что если добавить и затем нажать рефреш а затем снова нажать "добавить", то добавляется снова, причем так происходит только после первого рефреша, после последующих нажатий рефреша работает нормально.
Здесь
$new - id, приходит гетом;
calculate_num($cart)- ф-я считает общее кол-во элементов массива.
Скрипт находиться в iframe
<?session_start();include('functionux.php');
//------проверка на существование id в массиве--------
if(@$cart&&@$new) {
foreach($cart as $id=>$qty) {
if($id==$new){if($qty>0) {$already=true; $onload="alert('Уже есть в корзине')";}}}}
//-------добавление--------
if(!@$already){
if(@$new){$onload="alert('Добавлено')";
if(!session_is_registered("cart")) {$cart=array();session_register("cart");}
if(!session_is_registered("num")) {session_register("num");}
if(@$cart[$new]) $cart[$new]++;
else @$cart[$new]=1;}
}
@$num=calculate_num($cart);
?>
Делаю подобие корзины в упрощенном варианте, т.е. нужно чтобы добавив один раз id, больше не добавлялось(цену считать не надо). Вроде работает, но проблема в том, что если добавить и затем нажать рефреш а затем снова нажать "добавить", то добавляется снова, причем так происходит только после первого рефреша, после последующих нажатий рефреша работает нормально.
Здесь
$new - id, приходит гетом;
calculate_num($cart)- ф-я считает общее кол-во элементов массива.
Скрипт находиться в iframe
<?session_start();include('functionux.php');
//------проверка на существование id в массиве--------
if(@$cart&&@$new) {
foreach($cart as $id=>$qty) {
if($id==$new){if($qty>0) {$already=true; $onload="alert('Уже есть в корзине')";}}}}
//-------добавление--------
if(!@$already){
if(@$new){$onload="alert('Добавлено')";
if(!session_is_registered("cart")) {$cart=array();session_register("cart");}
if(!session_is_registered("num")) {session_register("num");}
if(@$cart[$new]) $cart[$new]++;
else @$cart[$new]=1;}
}
@$num=calculate_num($cart);
?>