Session adding the same product twice

I have a shopping system working fine, but when I click on the add button, the product is added to the basket with ajax, I want to add the product to the session if the product properties (color, size) are not the same

ajax.js

$(".item_form").submit(function(e){
        var form_data = $(this).serialize();

        $.ajax({
            url: "Kart",
            type: "POST",
            dataType:"json",
            data: form_data
        }).done(function(data){ 
            var totalItemInCart = $("#items_in_shopping_cart, #items_in_shopping_cart_mobile").html(data.items_in_cart); 
            var new_item_qty = $("#items_in_shopping_cart, #items_in_shopping_cart_mobile").html(data.all_items); 
            
            $('#cart_update_info').empty();
            
              swal({
                    title: "success",
                    timer: 1000,
                    showConfirmButton: false
                  });


            if($(".shopping_cart_holder").css("display") == "block"){
                $(".shopping_cart_info").trigger( "click" );  
            }
        })
        e.preventDefault();
    });

cart.php

if(isset($_POST["item_id"]) && isset($_POST['item_qty']) ){

	$added_item["item_id"]=$_POST['item_id'];
    $added_item["item_qty"]=$_POST['item_qty'];
	$added_item["item_size"]=$_POST['item_size'];
    $added_item["item_color"]=$_POST['item_color'];

$items = $database->find_by_query("SELECT * FROM shopping_items WHERE item_id='{$added_item["item_id"]}' LIMIT 1");


foreach($items as $item){

                $added_item["item_name"] = $item['item_name'];
                $added_item["item_price"] = $item['item_price'];
                $added_item["item_image"] = $item['item_image'];
                $added_item["sub_item_name"] = $item['sub_item_name'];
                $added_item["link"] = $item['link'];

                $_SESSION["items"][$added_item['item_id']] = $added_item;
                
            }

    exit(json_encode(array('items_in_cart'=>count($_SESSION['items']))));

}

How can I add properties if they are not the same?

So, if i’m reading your PHP code correctly, a person can only ever have 1 of a given item in their basket at a time? What happens if i want 5 pink medium sweaters?

the user can only add once, the second product is deleted, I want you to be other size to add products from one product to another

Well, that’s… one way to do things, I suppose.

If you’re only using it for counting purposes, you could concatenate the size and color options to the ID for purposes of indexing:

            $_SESSION["items"][$added_item['item_id']."_".$added_item['item_size']."_".$added_item['item_color']] = $added_item;

Or you could multidimensionalize the array and do something more indepth than count();

                $_SESSION["items"][$added_item['item_id']][$added_item['item_size']][$added_item['item_color']] = $added_item;
}
$count = 0; //There's a better way to do this, but my brain is operating at low level this morning.
foreach($_SESSION['items'] as $itemid) {
   foreach($itemid as $itemsize) {
       $count += count($itemsize); 
    }
}
    return(json_encode(array('items_in_cart'=>$count)));

my code is like this

cart.php

if(isset($_POST["item_id"]) && isset($_POST['item_qty']) ){

    /* Get $_POST data and place it in array */
    $added_item["item_id"]=$_POST['item_id'];
    $added_item["item_qty"]=$_POST['item_qty'];
    $added_item["item_size"]=$_POST['item_size'];
    $added_item["item_color"]=$_POST['item_color'];

$items = $database->find_by_query("SELECT * FROM shopping_items WHERE item_id='{$added_item["item_id"]}' LIMIT 1");

/* Fetch all items from database that matches $_POST['item_id']
        Limit 1 at the end so only one item is fetched. */

    $items = $database->find_by_query("SELECT * FROM shopping_items WHERE item_id='{$added_item["item_id"]}' LIMIT 1");

    /* Foreach item -> Remaining data about items fetched from database */
            foreach($items as $item){

                $added_item["item_name"] = $item['item_name'];
                $added_item["item_price"] = $item['item_price'];
                $added_item["item_image"] = $item['item_image'];
                $added_item["sub_item_name"] = html_entity_decode($item['sub_item_name']);
                $added_item["link"] = $item['link'];

                /* Update item session array with newly added items - items that already exist in the basket will be overwritten */
                
                $_SESSION["items"][$added_item['item_id']] = $added_item;
                
            }

    /* Calculate number of items in cart and output it in json format */
    exit(json_encode(array('items_in_cart'=>count($_SESSION['items']))));

}

I’m aware of what your code is. I’ve given you suggestions for how to add the feature you desired.

Thank you for your help but didn’t work :frowning:

Define didn’t work.

Which of the options did you use?

I used both

print_r($_SESSION);

output;

Array
(
    [1] => Array
        (
            [item_id] => 1
            [item_qty] => 1
            [item_comment] => 
            [item_sauce] => ohne Sauce
            [item_sauceCheck] => 
            [item_drink] => 
            [item_dip1] => 
            [item_dip2] => 
            [item_dip3] => 
            [item_dressing1] => 
            [1extras1] => 0
            [1extras2] => 0
            [1extras3] => 0
            [1extras4] => 0
            [1extras5] => 0
            [1extras6] => 0
            [1extras7] => 0
            [2extras1] => 0
            [2extras2] => 0
            [2extras3] => 0
            [2extras4] => 0
            [2extras5] => 0
            [2extras6] => 0
            [2extras7] => 0
            [2extras8] => 0
            [2extras9] => 0
            [2extras10] => 0
            [2extras11] => 0
            [2extras12] => 0
            [2extras13] => 0
            [2extras14] => 0
            [2extras15] => 0
            [item_sonderwunsche1] => 0
            [item_sonderwunsche2] => 0
            [item_sonderwunsche3] => 0
            [item_sonderwunsche4] => 0
            [item_sonderwunsche5] => 0
            [item_sonderwunsche6] => 0
            [item_name] => Döner im Brot
            [item_price] => 4.80
            [item_image] => 
            [sub_item_name] => <p>mit salat un So&szlig;e</p>
            [link] => doner-im-brot
        )

    [2] => Array
        (
            [item_id] => 2
            [item_qty] => 1
            [item_comment] => 
            [item_sauce] => ohne Sauce
            [item_sauceCheck] => 
            [item_drink] => 
            [item_dip1] => 
            [item_dip2] => 
            [item_dip3] => 
            [item_dressing1] => 
            [1extras1] => 0
            [1extras2] => 0
            [1extras3] => 0
            [1extras4] => 0
            [1extras5] => 0
            [1extras6] => 0
            [1extras7] => 0
            [2extras1] => 0
            [2extras2] => 0
            [2extras3] => 0
            [2extras4] => 0
            [2extras5] => 0
            [2extras6] => 0
            [2extras7] => 0
            [2extras8] => 0
            [2extras9] => 0
            [2extras10] => 0
            [2extras11] => 0
            [2extras12] => 0
            [2extras13] => 0
            [2extras14] => 0
            [2extras15] => 0
            [item_sonderwunsche1] => 0
            [item_sonderwunsche2] => 0
            [item_sonderwunsche3] => 0
            [item_sonderwunsche4] => 0
            [item_sonderwunsche5] => 0
            [item_sonderwunsche6] => 0
            [item_name] => Dürüm Döner
            [item_price] => 5.00
            [item_image] => 
            [sub_item_name] => <p>mit Salat und So&szlig;e</p>
            [link] => durum-doner
        )

)

1: The options were an either/or, not both.

2: What you have pasted here does not match up with the code you started with, nor with the suggestion that was made. Did you print_r($_SESSION[‘items’]) instead? Have you added new items to the cart since making the change? Have you reset the session?

yes I did. Yes the codes do not match because I have too many extrams I did not want to write all I just gave the color and size as an example

<?php
require_once("../system/db.inc.php");  // request database connection with its objects
require_once("../system/system.inc.php");
/* If session is not started, start session */
if(session_status()==PHP_SESSION_NONE){session_start();}

//========================================================================================================
if(isset($_POST["item_id"]) && isset($_POST['item_qty']) ){
    

    /* Get $_POST data and place it in array */
    $added_item["item_id"]=$_POST['item_id'];
    $added_item["item_qty"]=$_POST['item_qty'];

    
    
    if(!empty($_POST['item_comment'])):
        $added_item['item_comment'] = $_POST['item_comment'];
    else:
        $added_item['item_comment'] = "";
    endif;
    

    //sauce
        if(!empty($_POST['item_sauce'])):
            if($_POST['item_sauce'] == 1):
                $added_item["item_sauce"] = "ohne Sauce";
            elseif($_POST['item_sauce'] == 2):
                $added_item["item_sauce"] = "mit Knoblauchsauce";
            elseif($_POST['item_sauce'] == 3):
                $added_item["item_sauce"] = "mit Kräutersauce";
            elseif($_POST['item_sauce'] == 4):
                $added_item["item_sauce"] = "mit Sauce, scharf";
            else:
                $added_item["item_sauce"] = "ohne Sauce";
            endif;
        else:
            $added_item["item_sauce"] = "";
        endif;
    
    //sauceCheckbox
        if(!empty($_POST['item_sauceCheck'])):
            if($_POST['item_sauceCheck'] == 1):
                $added_item["item_sauceCheck"] = "ohne Sauce";
            elseif($_POST['item_sauceCheck'] == 2):
                $added_item["item_sauceCheck"] = "mit Knoblauchsauce";
            elseif($_POST['item_sauceCheck'] == 3):
                $added_item["item_sauceCheck"] = "mit Kräutersauce";
            elseif($_POST['item_sauceCheck'] == 4):
                $added_item["item_sauceCheck"] = "mit Sauce, scharf";
            else:
                $added_item["item_sauceCheck"] = "ohne Sauce";
            endif;
        else:
            $added_item["item_sauceCheck"] = "";
        endif;

        

    //drink
        if(!empty($_POST['item_drink'])):
            if($_POST['item_drink'] == 1):
                $added_item["item_drink"] = "Cola";
            elseif($_POST['item_drink'] == 2):
                $added_item["item_drink"] = "Cola Zero";
            elseif($_POST['item_drink'] == 3):
                $added_item["item_drink"] = "Cola Light";
            elseif($_POST['item_drink'] == 4):
                $added_item["item_drink"] = "Fanta";
            elseif($_POST['item_drink'] == 5):
                $added_item["item_drink"] = "Sprite";
            elseif($_POST['item_drink'] == 6):
                $added_item["item_drink"] = "Mezzo Mix";
            elseif($_POST['item_drink'] == 7):
                $added_item["item_drink"] = "Lift";
            elseif($_POST['item_drink'] == 8):
                $added_item["item_drink"] = "ohne Getränk";
            else:
                $added_item["item_drink"] = "Cola";
            endif;
        else:
            $added_item["item_drink"] = "";
        endif;
    
        
    //dip1
        if(!empty($_POST['item_dip1'])):
            if($_POST['item_dip1'] == 1):
                $added_item["item_dip1"] = "Barbecue Dip";
            elseif($_POST['item_dip1'] == 2):
                $added_item["item_dip1"] = "Curry Dip";
            elseif($_POST['item_dip1'] == 3):
                $added_item["item_dip1"] = "Knoblauch Dip";
            elseif($_POST['item_dip1'] == 4):
                $added_item["item_dip1"] = "Salsa Dip";
            elseif($_POST['item_dip1'] == 5):
                $added_item["item_dip1"] = "Sauerrahm Dip";
            elseif($_POST['item_dip1'] == 6):
                $added_item["item_dip1"] = "Süß-Sauer Dip";
            elseif($_POST['item_dip1'] == 7):
                $added_item["item_dip1"] = "ohne Dip";
            else:
                $added_item["item_dip1"] = "Barbecue Dip";
            endif;
        else:
            $added_item["item_dip1"] = "";
        endif;
    //dip2
        if(!empty($_POST['item_dip2'])):
            if($_POST['item_dip2'] == 1):
                $added_item["item_dip2"] = "Barbecue Dip";
            elseif($_POST['item_dip2'] == 2):
                $added_item["item_dip2"] = "Curry Dip";
            elseif($_POST['item_dip2'] == 3):
                $added_item["item_dip2"] = "Knoblauch Dip";
            elseif($_POST['item_dip2'] == 4):
                $added_item["item_dip2"] = "Salsa Dip";
            elseif($_POST['item_dip2'] == 5):
                $added_item["item_dip2"] = "Sauerrahm Dip";
            elseif($_POST['item_dip2'] == 6):
                $added_item["item_dip2"] = "Süß Sauer Dip";
            elseif($_POST['item_dip2'] == 7):
                $added_item["item_dip2"] = "ohne Dip";
            else:
                $added_item["item_dip2"] = "Barbecue Dip";
            endif;
        else:
            $added_item["item_dip2"] = "";
        endif;
    //dip3
        if(!empty($_POST['item_dip3'])):
            if($_POST['item_dip3'] == 1):
                $added_item["item_dip3"] = "Barbecue Dip";
            elseif($_POST['item_dip3'] == 2):
                $added_item["item_dip3"] = "Curry Dip";
            elseif($_POST['item_dip3'] == 3):
                $added_item["item_dip3"] = "Knoblauch Dip";
            elseif($_POST['item_dip3'] == 4):
                $added_item["item_dip3"] = "Salsa Dip";
            elseif($_POST['item_dip3'] == 5):
                $added_item["item_dip3"] = "Sauerrahm Dip";
            elseif($_POST['item_dip3'] == 6):
                $added_item["item_dip3"] = "Süß Sauer Dip";
            elseif($_POST['item_dip3'] == 7):
                $added_item["item_dip3"] = "ohne Dip";
            else:
                $added_item["item_dip3"] = "Barbecue Dip";
            endif;
        else:
            $added_item["item_dip3"] = "";
        endif;
    
        
    
    //dressing1
        if(!empty($_POST['item_dressing1'])):
            if($_POST['item_dressing1'] == 1):
                $added_item["item_dressing1"] = "mit Balsamico-Olivenöl-Dressing";
            elseif($_POST['item_dressing1'] == 2):
                $added_item["item_dressing1"] = "mit Hausdressing";
            elseif($_POST['item_dressing1'] == 3):
                $added_item["item_dressing1"] = "ohne Dressing";
            else:
                $added_item["item_dressing1"] = "mit Balsamico-Olivenöl-Dressing";
            endif;
        else:
            $added_item["item_dressing1"] = "";
        endif;
        
          
    

    //extras1
        if (isset($_POST['1extras1'])):
            $added_item['1extras1'] = 1.50;
        else:
            $added_item['1extras1'] = 0;
        endif;
        if (isset($_POST['1extras2'])):
            $added_item['1extras2'] = 0.50;
        else:
            $added_item['1extras2'] = 0;
        endif;
        if (isset($_POST['1extras3'])):
            $added_item['1extras3'] = 0.50;
        else:
            $added_item['1extras3']=0;
        endif;
        if (isset($_POST['1extras4'])):
            $added_item['1extras4'] = 1.00;
        else:
            $added_item['1extras4'] = 0;
        endif;
        if (isset($_POST['1extras5'])):
            $added_item['1extras5'] = 0.50;
        else:
            $added_item['1extras5'] = 0;
        endif;
        if (isset($_POST['1extras6'])):
            $added_item['1extras6'] = 0.50;
        else:
            $added_item['1extras6'] = 0;
        endif;

        if (isset($_POST['1extras7'])):
            $added_item['1extras7'] = 0.50;
        else:
            $added_item['1extras7'] = 0;
        endif;
    
        //extras2
        if (isset($_POST['2extras1'])):
            $added_item['2extras1'] = 0.80;
        else:
            $added_item['2extras1'] = 0;
        endif;
        if (isset($_POST['2extras2'])):
            $added_item['2extras2'] = 0.80;
        else:
            $added_item['2extras2'] = 0;
        endif;
        if (isset($_POST['2extras3'])):
            $added_item['2extras3'] = 1.00;
        else:
            $added_item['2extras3']=0;
        endif;
        if (isset($_POST['2extras4'])):
            $added_item['2extras4'] = 1.00;
        else:
            $added_item['2extras4'] = 0;
        endif;
        if (isset($_POST['2extras5'])):
            $added_item['2extras5'] = 0.80;
        else:
            $added_item['2extras5'] = 0;
        endif;
        if (isset($_POST['2extras6'])):
            $added_item['2extras6'] = 0.80;
        else:
            $added_item['2extras6'] = 0;
        endif;
        if (isset($_POST['2extras7'])):
            $added_item['2extras7'] = 0.80;
        else:
            $added_item['2extras7'] = 0;
        endif;
        if (isset($_POST['2extras8'])):
            $added_item['2extras8'] = 0.80;
        else:
            $added_item['2extras8'] = 0;
        endif;
        if (isset($_POST['2extras9'])):
            $added_item['2extras9'] = 0.80;
        else:
            $added_item['2extras9'] = 0;
        endif;
        if (isset($_POST['2extras10'])):
            $added_item['2extras10'] = 0.80;
        else:
            $added_item['2extras10'] = 0;
        endif;
        if (isset($_POST['2extras11'])):
            $added_item['2extras11'] = 2.50;
        else:
            $added_item['2extras11'] = 0;
        endif;
        if (isset($_POST['2extras12'])):
            $added_item['2extras12'] = 0.80;
        else:
            $added_item['2extras12'] = 0;
        endif;
        if (isset($_POST['2extras13'])):
            $added_item['2extras13'] = 0.80;
        else:
            $added_item['2extras13'] = 0;
        endif;
        if (isset($_POST['2extras14'])):
            $added_item['2extras14'] = 0.80;
        else:
            $added_item['2extras14'] = 0;
        endif;
        if (isset($_POST['2extras15'])):
            $added_item['2extras15'] = 0.80;
        else:
            $added_item['2extras15'] = 0;
        endif;

        


    //sonderwünsche
        if (isset($_POST['item_sonderwunsche1'])):
            $added_item['item_sonderwunsche1'] = $_POST['item_sonderwunsche1'];
        else:
            $added_item['item_sonderwunsche1'] = 0;
        endif;
        if (isset($_POST['item_sonderwunsche2'])):
            $added_item['item_sonderwunsche2'] = $_POST['item_sonderwunsche2'];
        else:
            $added_item['item_sonderwunsche2'] = 0;
        endif;
        if (isset($_POST['item_sonderwunsche3'])):
            $added_item['item_sonderwunsche3'] = $_POST['item_sonderwunsche3'];
        else:
            $added_item['item_sonderwunsche3'] = 0;
        endif;
        if (isset($_POST['item_sonderwunsche4'])):
            $added_item['item_sonderwunsche4'] = $_POST['item_sonderwunsche4'];
        else:
            $added_item['item_sonderwunsche4'] = 0;
        endif;
        if (isset($_POST['item_sonderwunsche5'])):
            $added_item['item_sonderwunsche5'] = $_POST['item_sonderwunsche5'];
        else:
            $added_item['item_sonderwunsche5'] = 0;
        endif;
        if (isset($_POST['item_sonderwunsche6'])):
            $added_item['item_sonderwunsche6'] = $_POST['item_sonderwunsche6'];
        else:
            $added_item['item_sonderwunsche6'] = 0;
        endif;

        if($added_item['item_sonderwunsche5'] == 1 || $added_item["item_sauce"] == "ohne Sauce" || $added_item["item_sauceCheck"] == "ohne Sauce"):
            
            //EXTRA1
            //$added_item['1extras1'] = 0;
            $added_item['1extras2'] = 0;
            //$added_item['1extras3'] = 0;
            //$added_item['1extras4'] = 0;
            //$added_item['1extras5'] = 0;
            $added_item['1extras6'] = 0;
            $added_item['1extras7'] = 0;

            //EXTRA2
            // $added_item['2extras1'] = 0;
            
        endif;
    
    
    /* Fetch all items from database that matches $_POST['item_id']
        Limit 1 at the end so only one item is fetched. */

    //$items = $database->find_by_query("SELECT * FROM shopping_items WHERE item_id='{$added_item["item_id"]}' LIMIT 1");
    $db = new Database();
    $addedItemID = $added_item["item_id"];
    $items = $db->getRows("SELECT * FROM ".TABLE_PREFIX."TBL_SHOPPINGITEMS WHERE item_id=? LIMIT 1",[$addedItemID]);
    $db->Disconnect();


    /* Foreach item -> Remaining data about items fetched from database */
            foreach($items as $item){

                $added_item["item_name"] = $item['item_name'];
                $added_item["item_price"] = $item['item_price'];
                $added_item["item_image"] = $item['item_image'];
                $added_item["sub_item_name"] = html_entity_decode($item['sub_item_name']);
                $added_item["LINK"] = $item['LINK'];

                $id = hexdec( uniqid() );
                /* Update item session array with newly added items - items that already exist in the basket will be overwritten */
                
                //$_SESSION["items"][$added_item['item_id']] = $added_item;

                $_SESSION["items"][$added_item['item_id']] = $added_item;
                
            }

            
            
    //return(json_encode(array('items_in_cart'=>$count)));

    /* Calculate number of items in cart and output it in json format */
    exit(json_encode(array('items_in_cart'=>count($_SESSION['items']))));

}
//========================================================================================================
/* Display aded products in the shopping cart */
if(isset($_POST["load_cart_items"])){
    

    /* If item session is already set and if there are any items added to the session */
    if(isset($_SESSION["items"]) && count($_SESSION["items"])>0){
        $id = hexdec( uniqid() );
        
        ?>
        <table class='table'> <!--Start table that will holds all data in the shopping cart -->
          <thead>
            <tr class="hidden-xs">
            <th></th>
              <th>Name</th>
              <th>Preis</th>
              <th>Menge</th>
              <th>TotalPreis</th>
            </tr>
          </thead>
        <?php
        $total=0; // define total so the script won't throw silly error of a type 'Undefined variable: total in....'
        /* Loop through item session array and display data */

        foreach($_SESSION["items"] as $item){
            
            ?>

            

            <tbody>
            <tr class='itemInCardRow' style="padding:5px 5px 5px 0;">

                <td class='itemInCartDisplay' style="vertical-align: middle;">
                    <a href="#" class="remove_item_from_cart" item_id="<?php echo $item["item_id"]; ?>">x</a>
                </td>

                <td class='itemInCartDisplay' style="vertical-align: middle; middle; width:50%">
                    <a style="color:#ffcc10;font-weight: bold;" href="<?=URL;?>/bestellung/<?=$item['LINK'].'/'.$item['item_id'];?>"><?=$item["item_name"]." (".$item["item_id"].")"; ?></a><br>
                    
                    <?php
                        
                        //dressing
                        if($item["sub_item_name"] != NULL){ echo $item["sub_item_name"];}
                        //sauce
                        if($item["item_sauce"] != NULL){ echo $item["item_sauce"]."<br>";}
                        //sauceCheck
                        if($item["item_sauceCheck"] != NULL){ echo $item["item_sauceCheck"]."<br>";}
                        
                        //drink
                        if($item["item_drink"] != NULL){ echo $item["item_drink"]."<br>";}
                        
                        

                        //dip1
                        if($item["item_dip1"] != NULL){ echo $item["item_dip1"]."<br>";}
                        //dip2
                        if($item["item_dip2"] != NULL){ echo $item["item_dip2"]."<br>";}
                        //dip3
                        if($item["item_dip3"] != NULL){ echo $item["item_dip3"]."<br>";}
                        
                        //Dressing1
                        if($item["item_dressing1"] != NULL){ echo $item["item_dressing1"]."<br>";}
                        if($item["item_comment"] != NULL){ echo "Kommentar:".$item["item_comment"]."<br>";}

                    
                    
                        if($item["item_sonderwunsche1"] == 0):
                            $sonderwunsche1Name = "";
                        else:
                            echo'ohne Eisbergsalat<br>';    
                        endif;
                        if($item["item_sonderwunsche2"] == 0):
                            $sonderwunsche2Name = "";
                        else:
                            echo'ohne Salat<br>';    
                        endif;
                        if($item["item_sonderwunsche3"] == 0):
                            $sonderwunsche3Name = "";
                        else:
                            echo'ohne Tomaten<br>';    
                        endif;
                        if($item["item_sonderwunsche4"] == 0):
                            $sonderwunsche4Name = "";
                        else:
                            echo'ohne Rotkohl<br>';    
                        endif;
                        if($item["item_sonderwunsche5"] == 0):
                            $sonderwunsche5Name = "";
                        else:
                            echo'ohne Sauce<br>';    
                        endif;
                        if($item["item_sonderwunsche6"] == 0):
                            $sonderwunsche6Name = "";
                        else:
                            echo'ohne Zwiebeln<br>';    
                        endif;
                         
                    //extras1
                        if($item["1extras1"] || $item["1extras2"] || $item["1extras3"] || $item["1extras4"] || $item["1extras5"] || $item["1extras6"] || $item["1extras7"]):
                            echo "<hr style='margin:0'>Ihre Extras:<br>";
                        endif;    
                        if($item["1extras1"] == 0):
                            $extras1_1 = 0;
                        else:
                            $extras1_1 = $item["1extras1"];
                            echo'<small>Fleisch extra (+1,50 €)</small><br>';    
                        endif;
                        if($item["1extras2"] == 0):
                            $extras1_2 = 0;
                        else:
                            $extras1_2 = $item["1extras2"];    
                            echo'<small>Knoblauchsauce (+0,50 €)</small><br>';
                        endif;
                        if($item["1extras3"] == 0):
                            $extras1_3 = 0;
                        else:
                            $extras1_3 = $item["1extras3"];    
                            echo'<small>Mayonnaise (+0,50 €)</small><br>';
                        endif;
                        if($item["1extras4"] == 0):
                            $extras1_4 = 0;
                        else:
                            $extras1_4 = $item["1extras4"];    
                            echo'<small>Schafskäse (+1,00 €)</small><br>';
                        endif;
                        if($item["1extras5"] == 0):
                            $extras1_5 = 0;
                        else:
                            $extras1_5 = $item["1extras5"];    
                            echo'<small>Ketchup (+0,50 €)</small><br>';
                        endif;
                        if($item["1extras6"] == 0):
                            $extras1_6 = 0;
                        else:
                            $extras1_6 = $item["1extras6"];    
                            echo'<small>Kräutersauce (+0,50 €)</small><br>';
                        endif;
                        if($item["1extras7"] == 0):
                            $extras1_7 = 0;
                            $extras1_7Name = "";
                        else:
                            $extras1_7 = $item["1extras7"];    
                            echo'<small>Sauce, scharf (+0,50 €)</small>';
                        endif; 
                    
                        //extras2
                        if($item["2extras1"] || $item["2extras2"] || $item["2extras3"] || $item["2extras4"] || $item["2extras5"] || $item["2extras6"] || $item["2extras7"] || $item["2extras8"] || $item["2extras9"] || $item["2extras10"] || $item["2extras11"] || $item["2extras12"] || $item["2extras13"] || $item["2extras14"] || $item["2extras15"]):
                            echo "<hr style='margin:0'>Ihre Extras:<br>";
                        endif;    
                        if($item["2extras1"] == 0):
                            $extras2_1 = 0;
                        else:
                            $extras2_1 = $item["2extras1"];
                            echo'<small>Ananas (+0.80 €)</small><br>';    
                        endif;
                        if($item["2extras2"] == 0):
                            $extras2_2 = 0;
                        else:
                            $extras2_2 = $item["2extras2"];    
                            echo'<small>Champignons, geschmort (+0,80 €)</small><br>';
                        endif;
                        if($item["2extras3"] == 0):
                            $extras2_3 = 0;
                        else:
                            $extras2_3 = $item["2extras3"];    
                            echo'<small>Fetakäse (+1,00 €)</small><br>';
                        endif;
                        if($item["2extras4"] == 0):
                            $extras2_4 = 0;
                        else:
                            $extras2_4 = $item["2extras4"];    
                            echo'<small>Halloumi (+1,00 €)</small><br>';
                        endif;
                        if($item["2extras5"] == 0):
                            $extras2_5 = 0;
                        else:
                            $extras2_5 = $item["2extras5"];    
                            echo'<small>Käse (+0,80 €)</small><br>';
                        endif;
                        if($item["2extras6"] == 0):
                            $extras2_6 = 0;
                        else:
                            $extras2_6 = $item["2extras6"];    
                            echo'<small>Röstzwiebeln (+0,80 €)</small><br>';
                        endif;
                        if($item["2extras7"] == 0):
                            $extras2_7 = 0;
                        else:
                            $extras2_7 = $item["2extras7"];    
                            echo'<small>Spiegelei (+0,80 €)</small><br>';
                        endif; 
                        if($item["2extras8"] == 0):
                            $extras2_8 = 0;
                        else:
                            $extras2_8 = $item["2extras8"];    
                            echo'<small>Zwiebeln, geschmort (+0,80 €)</small><br>';
                        endif; 
                        if($item["2extras9"] == 0):
                            $extras2_9 = 0;
                        else:
                            $extras2_9 = $item["2extras9"];    
                            echo'<small>Barbecuesauce (+0,80 €)</small><br>';
                        endif; 
                        if($item["2extras10"] == 0):
                            $extras2_10 = 0;
                        else:
                            $extras2_10 = $item["2extras10"];    
                            echo'<small>Chili-Sauce (+0,80 €)</small><br>';
                        endif; 
                        if($item["2extras11"] == 0):
                            $extras2_11 = 0;
                        else:
                            $extras2_11 = $item["2extras11"];    
                            echo'<small>Fleisch, extra (+2,50 €)</small><br>';
                        endif; 
                        if($item["2extras12"] == 0):
                            $extras2_12 = 0;
                        else:
                            $extras2_12 = $item["2extras12"];    
                            echo'<small>Jalapenos (+0,80 €)</small><br>';
                        endif; 
                        if($item["2extras13"] == 0):
                            $extras2_13 = 0;
                        else:
                            $extras2_13 = $item["2extras13"];    
                            echo'<small>Mozzarella (+0,80 €)</small><br>';
                        endif; 
                        if($item["2extras14"] == 0):
                            $extras2_14 = 0;
                        else:
                            $extras2_14 = $item["2extras14"];    
                            echo'<small>Sauerrahm-Sauce (+0,80 €)</small><br>';
                        endif; 
                        if($item["2extras15"] == 0):
                            $extras2_15 = 0;
                        else:
                            $extras2_15 = $item["2extras15"];    
                            echo'<small>Sucuk (+0,80 €)</small>';
                        endif; 
                    ?>
                    
                    
                </td>
                <td class='itemInCartDisplay' style="vertical-align: middle; middle; width:20%">
                    <?php echo "€".$item["item_price"]; ?>
                </td>

                <td class='itemInCartDisplay' style="vertical-align: middle; width:30%;margin:0">

                    <a href='#' class='subtruct_itm_qty quantity_change' item_id="<?php echo $item["item_id"]; ?>"> - </a>
                        <?php echo "<span class='quantity'>".$item["item_qty"]."</span>"; ?>
                        <a href='#' class='add_itm_qty quantity_change' item_id="<?php echo $item["item_id"]; ?>"> + </a>
                </td>

                <td class='itemInCartDisplay' style="vertical-align: middle;">
                    <?php echo "€".sprintf("%.2f", ($item["item_price"] * $item["item_qty"]) + ($item["item_qty"] * ($extras1_1+$extras1_2+$extras1_3+$extras1_4+$extras1_5+$extras1_6+$extras1_7)) + ($item["item_qty"] * ($extras2_1+$extras2_2+$extras2_3+$extras2_4+$extras2_5+$extras2_6+$extras2_8+$extras2_9+$extras2_10+$extras2_11+$extras2_12+$extras2_13+$extras2_14+$extras2_15))); ?>
                </td>
                
            </tr>
          </tbody>
        <?php
            /* Calculate Total */
            $total += ($item["item_price"] * $item["item_qty"]) + ($item["item_qty"] * ($extras1_1+$extras1_2+$extras1_3+$extras1_4+$extras1_5+$extras1_6+$extras1_7)) + ($item["item_qty"] * ($extras2_1+$extras2_2+$extras2_3+$extras2_4+$extras2_5+$extras2_6+$extras2_8+$extras2_9+$extras2_10+$extras2_11+$extras2_12+$extras2_13+$extras2_14+$extras2_15));
            $_SESSION['bestellung_total'] = $total;
        }  // Close foreach loop

        ?>
            <!-- This part displays Checkout button and price total -->
            <tr>
                <td class='itemInCartDisplay' colspan='3'>
                    <div>
                        <a href='<?=URL;?>/bestellung/Kasse'><button type="button" class="btn checkoutButton">Zur Kasse</button></a>
<!--                        <a class="checkoutButton" href="view_cart.php" CHECKOUT</a>            -->
                    </div>
                </td>
                 <td class='itemInCartDisplay' colspan='2' >
                    <div class="cart-products-total">
                        <span>Gesamt:</span>

                            <?php
                                // Return a total price with 2 decimals
                                echo '<span style="font-size:30px;text-align:right">€'.sprintf("%.2f",$total).'</span>';
                            ?>

                    </div>
                </td>
            </tr>
        </table>

    <?php

    }else{
        /*  Information about empty shopping cart  - exit() function prints a message and exits current script
            Can be used as die() */
            echo'<script>setTimeout(function() { $(".shopping_cart_holder").hide(); }, 1000);</script>';

        exit("Ihr Einkaufswagen ist leer.");
    }
}

/* Add item quantity - Allow maximum 10 of each item to be added  */
if(isset($_GET["add_itm_qty"]) && isset($_SESSION["items"])){
    $_GET      = multiDimensionalArrayMap('cleanEvilTags', $_GET);
    $_GET      = multiDimensionalArrayMap('cleanData', $_GET);
    if(isset($_SESSION['items'][$_GET["add_itm_qty"]])){
        if($_SESSION['items'][$_GET["add_itm_qty"]]["item_qty"] <= 9){
            $_SESSION['items'][$_GET["add_itm_qty"]]["item_qty"]+=1;
        }else{
            $_SESSION['items'][$_GET["add_itm_qty"]]["item_qty"]=10;
        }
    }

    unset($_GET["add_itm_qty"]);
    exit(json_encode(array('items_in_cart'=>count($_SESSION['items']),(array('all_items'=>$_SESSION["items"])))));
}

/* Subtract item quantity - deduct qty ONLY if item_qty is NOT smaller than 0  */
if(isset($_GET["subtruct_itm_qty"]) && isset($_SESSION["items"])){
    $_GET      = multiDimensionalArrayMap('cleanEvilTags', $_GET);
    $_GET      = multiDimensionalArrayMap('cleanData', $_GET);
    if(isset($_SESSION['items'][$_GET["subtruct_itm_qty"]])){
        if($_SESSION['items'][$_GET["subtruct_itm_qty"]]["item_qty"] >= 2){
            $_SESSION['items'][$_GET["subtruct_itm_qty"]]["item_qty"]-=1;
        }else{
            $_SESSION['items'][$_GET["subtruct_itm_qty"]]["item_qty"]=1;
        }
    }
    unset($_GET["subtruct_itm_qty"]);
    /* Get item quantity and output it in json format */
    exit(json_encode((array('item_qty'=>$_SESSION["items"]))));
}

/* Remove item from shopping cart */
if(isset($_GET["remove_item_from_cart"]) && isset($_SESSION["items"])){
    $_GET      = multiDimensionalArrayMap('cleanEvilTags', $_GET);
    $_GET      = multiDimensionalArrayMap('cleanData', $_GET);
    $item_id = $_GET["remove_item_from_cart"];

     /* Check if item is ina item session array */
    if(isset($_SESSION["items"][$item_id])){
        unset($_SESSION["items"][$item_id]);  // Remove/unset item
    }


    /* Calculate total number of items in cart and output it in json format */
    exit(json_encode(array('items_in_cart'=>count($_SESSION['items']))));
}

This works like code but only adds one product

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.