ciao e scusa se rompo ancora, pensavo di aver capito ma ora che mi ci sono messo riesco a portare i dati ma non a inserirli ti posto il codice di quello che faccio.

questa è la pagina A che estrae i dati che devo mandare alla pagina B
codice:
$query = "select * from carrello where id= '$var_id' ";
$result = mysql_query($query,$db) or die (mysql_error($db));

while($row = mysql_fetch_assoc($result)){
extract($row);	

$_SESSION['carrello'][] = array( 
								 
               'nome'=> $nome, 
	 'data' => $data, 
	 'ora' => $ora,
	 'cod'=> $cod );

}

questo è il codice della pagina B

codice:
 

<?php
session_start();
@require('libreria/db_config.inc');	

$dati = $_SESSION['carrello'];

foreach($dati as $valori=>$key){
	
	
	foreach($key as $val=>$ke){
	$query = "insert ignore into tab($val) values ('$ke')";
	mysql_query($query,$db) or die(mysql_error($db));
	}
	
}
se faccio ciò inserisce i dati ma anche tanti campi vuoti, praticamente per ogni record pieno spedito ne inserisce uno vuoto per quante variabili $_SESSION['carrello'][] contiene..
dove sbaglio??
grazie