Хорошим решением будет сохранять корзину у пользователя в localStorage?приемлемым, если вы не собираетесь привязывать пользователя к системе и не имеете цели отслеживать его заказы/покупки с целью предоставления скидок/бонусов по накоплению покупок или чего-то подобного.
честно говоря не понял о чём вы (охранять на беке)Сохранять на бэке - хранить на стороне сервера, а не клиента, клиент может на своей стороне делать с данными любые манипуляции. Это не всегда удобно/безопасно. По этому хранение на "бэке" считается более контролируемым. Читайте про механизмы сессий. Кроме того - на сервере манипуляции с данными производить легче, например достаточно иметь id объекта и вытащить из базы все данные о нем, на фронте же необходимо на каждый объект иметь все данные о нем прямо в DOM объектах, что не красиво, не безопасно, несет серьезный оверхэд кода и не всегда удобно.
$bd_insert_query = "INSERT INTO " . DB_TABLE . " (mailbox) VALUES ('" . $MailBox . "')";
var_dump($bd_insert_query); // копируем и вставляем в базу руками, смотрим ответ, возможно понимаем что запрос кривой.
$result = mysqli_query($bd_link, $bd_insert_query);
var_dump($result); // смотрим что на самом деле произошло в запросе.