hola he estado probando lo que explica en el FAQ que me mandaste y por lo menos he conseguido ver el array en la barra de direcciones, osea que con la función y serializando salir, sale, pero no llega. expongo el código por si puedes decirme donde esta el error.
 
en la página de salida:  
 Código PHP:
    <?php
function array_envia($array) { 
 
    $tmp = serialize($array); 
    $tmp = urlencode($tmp); 
 
    return $tmp; 
} 
 
$msg = "Este es el contenido del formulario:\n\n";
 
foreach($_POST as $indice => $valor) {
    $msg .= $indice.": ".$valor."\n\n";
}
$recipient = "[email protected]"; 
$subject = "sujeto del mensaje";
$headers = "From: [email protected]\n";
$headers .= "Reply-To: " .$_POST['email']. "\n\n";    
 
mail($recipient, $subject, $msg, $headers);
 
$array=array($_POST); 
$array=array_envia($array); 
 
header('location:m3_gracias.php?array='.$array); 
?>       en la página de llegada: 
 Código PHP:
    <? 
function array_recibe($url_array) { 
    $tmp = stripslashes($url_array); 
    $tmp = urldecode($tmp); 
    $tmp = unserialize($tmp); 
 
   return $tmp; 
} 
 
$array=$_GET['array']; 
$array=array_recibe($array);
 
echo "Nombre: ".$array['indice'][3];
 
foreach ($array as $indice => $valor){ 
echo $indice." = ".$valor."<br>"; 
} 
 
?>    
  He intentado recogerlas con el indicie y con el foreach peso siempre sale esto: 
De todas formas en esta parte no entiendo muy bien de donde sale la variable ($url_array) de la función o si es que hay que cambiarla por otro valor. 
Gracias por las respuestas y la paciencia, saludos