Supongo q será pq, cada vez q recargas la página, comprueba esto:
Código PHP:
if (isset($_SESSION['carrito'])) {
Si sigue "dada de alta", te entrará otra vez... y volverá a crear el registro. Puede q ande por ahí el fallo :)
Básicamente, en el else que tienes vacio, tendrías q poner alguna forma para "marcar" ese carrito como pasado a la bbdd (o borrarlo de alguna forma!)
Código PHP:
if (!$pedido_query) {
header("location:error2.php?error=1");
} else {
//Anular el item del carrito que ya se ha procesado
}
Creo q van por ahí los tiros