За последние 24 часа нас посетили 50324 программиста и 1691 робот. Сейчас ищут 1163 программиста ...

Скрипт добавлени товара в корзину в куках

Тема в разделе "PHP для новичков", создана пользователем riaron, 22 май 2018.

  1. riaron

    riaron Активный пользователь

    С нами с:
    1 окт 2014
    Сообщения:
    247
    Симпатии:
    4
    Простой код принимаем id и qtty(количество) товара с get и добаляем в конец массива и отправляем в куки. а вот поцентру скрипт который будет не допускать повторений id товара в массиве id товара и подправлять количество товара в массиве количества товаров.
    скрипт не работает почему
    PHP:
    1. <?php
    2. $goods= filter_input(INPUT_COOKIE, 'gdsid');
    3. $qunttity  = filter_input(INPUT_COOKIE, 'gq');
    4. $gdid = filter_input(INPUT_GET, 'id');
    5. $gq= filter_input(INPUT_GET, 'qtty');
    6. $goodsa=explode(',',$gdid );
    7. $quantitya=explode(',',$gq);
    8. //Если существует массив то найти повторения
    9. if(count($goodsa)){
    10.     foreach($goodsa as $g){
    11.         $i=0;
    12.         if($g==$goodsa["$i"]){
    13.             $coun[]="$i";
    14.         }
    15.         $i=$i+1;
    16.     }
    17.     //Если повторений товара больше двух то удаляем повторения и добавляяем количество
    18.     //повторяющегося товара к имеющемуся элементу
    19.     if(count($coun)>1){
    20.         foreach($coun as $c){
    21.             if($c!=$coun['0']){
    22.                 unset($goodsa["$c"]);
    23.                 $p=$quantitya["$c"];
    24.                 $g=$coun['0'];
    25.                 $quantitya["$g"]=$quantitya["$g"]+$p;
    26.             }
    27.  
    28.         }
    29.         //Очищаем массив сповторениями
    30.         foreach($coun as $c){
    31.             if($c!=$coun['0']) {
    32.                 unset($quantitya["$c"]);
    33.             }
    34.         }
    35.  
    36.     }
    37. }
    38.  
    39.  
    40. if($gdid and $gq){
    41.     $goodsa[]=$gdid;
    42.     $quantitya[]= $gq;
    43.  
    44. }
    45. $r=implode(',',$goodsa);
    46. $w=implode(',',$quantitya);
    47. setcookie("gdsid", $r, time()+60 * 60 * 6);
    48. setcookie("gq", $w, time() +60 * 60 * 6);
     
  2. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    session array_search array_unique json_encode _decode