<?php
if ($_POST) {
    $name     = post('name');
    $phone    = post('phone');
    $note     = post('note');
    $address  = post('address');
    $payment  = post('payment');
    $code     = uniqid();

    if (!$name || !$phone || !$address || !$payment) {
        echo 'empty';
    } else {
        try {
            $db->beginTransaction();

            $carttotal = $db->prepare("SELECT SUM(toplamfiyat) as toplam FROM sepet WHERE sepetbayi=:b");
            $carttotal->execute([':b' => $bcode]);
            $carttotalrow = $carttotal->fetch(PDO::FETCH_OBJ);

            $kargolim = $db->prepare("SELECT sitekargo FROM ayarlar");
            $kargolim->execute();
            $kargorow = $kargolim->fetch(PDO::FETCH_OBJ);
            $kargolimit = $kargorow->sitekargo;

            $carttotalkg = $db->prepare("SELECT SUM(toplamkg) as toplamkg FROM sepet WHERE sepetbayi=:b");
            $carttotalkg->execute([':b' => $bcode]);
            $carttotalkgrow = $carttotalkg->fetch(PDO::FETCH_OBJ);
            $carttopkg = $carttotalkgrow->toplamkg;

            $kargo1 = $db->query("SELECT MAX(kargokg) as max_kargokg FROM kargo WHERE kargokg<='{$carttopkg}'")->fetch(PDO::FETCH_OBJ);
            $kargo2 = $kargo1->max_kargokg;

            $kargoTL = $db->prepare("SELECT kargofiyat FROM kargo WHERE kargokg=:kargo2");
            $kargoTL->execute([':kargo2' => $kargo2]);
            $kargorow = $kargoTL->fetch(PDO::FETCH_OBJ);
            $kargotopTL = isset($kargorow->kargofiyat) ? $kargorow->kargofiyat : 0;

            $kargoP = ($carttotalrow->toplam >= $kargolimit) ? 0 : $kargotopTL;

            $result = $db->prepare("INSERT INTO siparisler SET
                siparisbayi     =:b,
                siparisisim     =:i,
                siparistel      =:t,
                siparistarih    =:ta,
                siparissaat     =:sa,
                siparisnot      =:note,
                siparistutar    =:sip,
                sipariskg       =:skg,
                sipariskgtl     =:stl,
                siparisodeme    =:od,
                sipariskodu     =:code,
                siparisadres    =:ad
            ");

            $result->execute([
                ':b'    => $bcode,
                ':i'    => $name,
                ':t'    => $phone,
                ':ta'   => date('Y-m-d'),
                ':sa'   => date('H:i'),
                ':note' => $note,
                ':sip'  => $carttotalrow->toplam + $kargoP,
                ':skg'  => $carttopkg,
                ':stl'  => $kargoP,
                ':od'   => $payment,
                ':code' => $code,
                ':ad'   => $address
            ]);

            if ($result->rowCount()) {
                $cart = $db->prepare("SELECT * FROM sepet INNER JOIN urunler ON urunler.urunkodu = sepet.sepeturun WHERE sepetbayi=:b");
                $cart->execute([':b' => $bcode]);

                if ($cart->rowCount()) {
                    foreach ($cart as $ca) {
                        $orderproducts = $db->prepare("INSERT INTO siparis_urunler SET
                            sipkodu    =:s,
                            sipurun    =:u,
                            sipbirim   =:b,
                            sipadet    =:a,
                            siptoplam  =:t,
                            sipkg      =:k,
                            siptoplamkg=:tk,
                            sipurunadi =:ua
                        ");

                        $orderproducts->execute([
                            ':s'   => $code,
                            ':u'   => $ca['sepeturun'],
                            ':b'   => $ca['birimfiyat'],
                            ':a'   => $ca['sepetadet'],
                            ':t'   => $ca['toplamfiyat'],
                            ':k'   => $ca['birimkg'],
                            ':tk'  => $ca['toplamkg'],
                            ':ua'  => $ca['urunbaslik']
                        ]);
                    }
                }

                $deletecart = $db->prepare("DELETE FROM sepet WHERE sepetbayi=:b");
                $deletecart->execute([':b' => $bcode]);

                echo 'ok';
            } else {
                throw new Exception('Order insertion failed');
            }

            $db->commit();
        } catch (Exception $e) {
            $db->rollBack();
            error_log("Transaction failed: " . $e->getMessage());
            echo 'error';
        }
    }
}
?>
Şu hali ile bazı mantıksal ve operatör hataları, hesaplama sorunları düzeltilmiş ve istediğiniz sonucu verir hale gelmiş olması gerekiyor.