Cita: Pero yo quiero que la llamada sea automatica por eso utilizo el header()
A que te refieres cuando dices que la llamada sea automática, a que te redireccione de esta forma:
Código HTML:
recibe_array.php ? array = a:3:{i:0;s:4:
si es asi lo puedes hacer pero fijándote que no envies ninguna salida HTML al navegador antes del header porque sino este no funciona.
Cita: Lo que no quiero es qe todo esa cadena , se muestre en la url.
La cadena esa se muestra de una forma grande porque la misma a sido codificada para navegar por la URL sin ningún problema (creo). Yo le he hecho algunas modificaciones al código de las FAQ's y aqui te lo dejo:
envia_array.php
Código PHP:
function array_envia($ar) {
$tmp = serialize($ar);
$tmp = urlencode($tmp); // Si no quieres que salga esa URL tan larga simplemente ponle comentarios a esta linea
return $tmp;
}
$arr= array("algo","nose","otracosa");
$array = array_envia ($arr);
echo "<a href=\"recibe_array.php?array=$array\">Pasar array</a>";
?>
recibe_array.php
Código PHP:
<?
$arrayserial = isset($_GET['array'])?$_GET['array']:NULL;
function array_recibe($arr) {
$tmp = stripslashes($arr);
$tmp = urldecode($tmp); // Si antes comentareaste el urlenconde en la pagina envia_array.php entonces esta linea debes comentarearla tambien
$tmp = unserialize($tmp);
return $tmp;
}
$array = array_recibe($arrayserial);
foreach ($array as $indice => $valor){
echo $indice." = ".$valor."<br>";
}
?>
Espero ahora te sirva de lo contrario explica un poco mejor lo que quieres hacer
Salu2