Kristina8787, проще выкинуть и с нуля написать, вот честное слово.
И не понятно зачем столько данных перегонять, так как товары имеют(должны иметь) уникальный ид, и всегда можно достать информацию о товаре, в корзину достаточно положить ид товара и количество
Kristina8787, из рефакторинга
saveOrder в ней $basket который в глобал не участвует
function myBasket(){
global $link, $basket;
Можно просто передать аргументами, я понимаю если их там было уже 5, а их совсем нет, такие функции только путают
Kristina8787, прям совсем пичалька, пробуйте отлаживать как советовал товарищ Кот, тут без пол литра не разберёшься. И киньте ссылку что ли на эти курсы или исходники
В запросах вместо return false лучше напишите return mysqli_error();
Поля в запросах и имена таблиц в апострофы, поле datetime возможно зарезервировано, проверяйте количество аргументов, что то там не сходится
Коментарии из запроса лучше убрать, и если он нужен оставить его ниже
Shenku, покажите кусок шаблона, вы в рендер должны закидывать уже нужные переменные для шаблона
То есть до рендера вы должны проверить сессию, условие на гет аргументы можно прям там и писать без админки, шаблоны нативные?