Insertar el modelo Backbone.js en la base de datos MySQL

Tengo un modelo de backbone.js con algunos valores predeterminados y una url:

var Box = Backbone.Model.extend({
    url: "./save.php",
    defaults: {
        x: 0,
        y: 0,
        w: 1,
        h: 1
    }
});

Luego tengo una instancia de este modelo y procedo a guardarlo:

var box = new Box({ x:10, y:10, w:200, h:200 });
box.save();

Ahora quiero guardar este modelo en una base de datos MySQL usando un script PHP "save.php", así es como sigue:

<?php 
    include('connection.php');

    $id = $_POST['cid'];
    $x = $_POST['x'];
    $y = $_POST['y'];
    $w = $_POST['w'];
    $h = $_POST['h'];

    mysql_query("INSERT INTO boxes (id, x, y, w, h)
                         VALUES('$id', '$x', '$y', '$w', '$h')
                       ") or die(mysql_error());
?>
echo "Data Inserted!";

He intentado leer muchos tutoriales, pero no consigo que este simple modelo de guardar funcione. ¿Por qué mi código no funciona? ¿Alguna idea sobre cómo se puede resolver esto?

Gracias

EDITAR: SOLUCION RAPIDA

En el script php, la forma correcta de obtener la información del objeto JSON enviado es la siguiente:

$box_data = json_decode(file_get_contents('php://input'));
$x = $box_data->{'x'};
$y = $box_data->{'y'};
$w = $box_data->{'w'};
$h = $box_data->{'h'};

Y para almacenar en la base de datos:

mysql_query("INSERT INTO boxes(id, x, y, w, h)
            VALUES('', '$x', '$y', '$w', '$h') ") 
or die(mysql_error());

De esta manera, se insertará una fila en la tabla "cajas" con la información de cada uno de los atributos de la caja del modelo de red troncal. El método de solicitud del servidor en este caso es POST y la identificación en la tabla "cajas" se establece en auto-incremento.

Respuestas a la pregunta(2)

Su respuesta a la pregunta