Y donde haces session_start() ? .. debes usarlo antes de pretender acceder a una variable de sesión (vía $HTTP_SESSION_VARS o $_SESSION que es lo que deberías usar).
El tema de los arrays como nombre de tus campos input .. no sé como andará este tipo de estructura:
trabajos[".$indice."][$cantidad]
pero .. si así funcionase .. no podrías recoger su valor por:
$_POST['cantidad']
En tal caso
$_POST[indice][cantidad]
Deberías usar un array para tu "indice" (tu producto) y otro para la cantidad. Ambos indices serían iguales pero no sus valores .. puedes usar campos hidden para asociar más datos a tu "registro" para el "carrito" ..
Ejemplo (para añadir N productos a tu carrito de una vez)
bucle (inicio){
<input type="hidden" name="producto[]" value="<? echo $id_producto ?>">
<input type="text" name="cantidad[]">
}
y en PHP recibiras un array en producto ($_POST['producto']) y otro en cantidad ($_POST['cantidad']) que puedes leer usando como mismo indice:
Código PHP:
for ($indice=0; $indice < count ($_POST['producto']) ; $indice++){
echo $_POST['producto'][$indice];
echo $_POST['cantidad'][$indice];
}
Esos mismos arrays producto y cantidad podrías llevarlos a una sesión ($_SESSION['carrito_cantidad']=$_POST['cantidad']; .. y la otra ..) o crear un array bidimensional .. o como gustes) para seguir trabajando el "carrito" cada vez que añadas más elmentos a ese array(s) que es lo que es en definitiva un "carrito".
Un saludo,