[PHP] Pasar un vector de una página a otra.

Tengo un vector en una páginaUno.php y quiero pasarlo a paginaDos.php que lo recibo mediante un $_GET.

Antes de pasar el vector, he creado las siguientes funciones para (serializarlo) y así poder enviarlo y recibirlo.
function envia($vector){
$temp = serialize($vector);
$temp = urlencode($temp);
return $temp;}

function recibe($url_vector){
$temp = stripslashes($url_vector);
$temp = urldecode($temp);
$temp = unserialize($temp);
return $temp;}


Si el vector NO contiene muchos elementos funciona correctamente, si se trata de un vector con muchos elementos no funciona. (Supongo que pueda ser debido a alguna configuración del servidor; pero no tengo la suerte de poder cambiar su configuración).

¿Existe alguna otra manera de poder pasar el vector completo independientemente de su tamaño?
No puedes mirar el registro o algo así? Para ver si te tira algún error?

Supongo que puedes ver la respuesta de ese get, ten en cuenta que hay un limite, revísalo, nonse si eran 2000 caracteres o algo asi.
alvaro101 escribió:No puedes mirar el registro o algo así? Para ver si te tira algún error?

Supongo que puedes ver la respuesta de ese get, ten en cuenta que hay un limite, revísalo, nonse si eran 2000 caracteres o algo asi.

Correcto el problema viene de la limitación de los caracteres al enviarlos por get.
Supongo que las alternativas son $_post o session [ayay]
Si, o divides el GET en menos de 2000 o lo haces por POST y cargas el json request en el payload.

Supongo que es una api o algo así.. revisa su documentacion a ver lo que proponen de cual serian las practicas adecuadas.

Saludos
Por tamaño de los datos puedo pasarlo correctamente por post.

Hasta ahora he usado formularios en HTML y al clickar sobre el botón todo es correcto. ;)

Dándole una vuelta, me gustaría pasar la información o recargar la página cuando se hace click en un enlace determinado; vamos suplir al botón con un enlace.

Por lo poco que he leído, sería recomendable entrar con js y/o ajax pero mis conocimientos son nulos.

El intento que he realizado ha sido crear un js que intente simular el click del botón con el siguiente código:

<script>function formSubmit(vn)
{
document.forms[0].vn.value=vn;
document.forms[0].submit;
}</script>


Y en la parte de HTML/PHP he metido lo siguiente:
<form action="pagina.php" method="post" id="nuevos">
<input type="hidden" id="id-vn" name="vn" value="<?php echo $vectorValores; ?>">
<?php
echo"<a href=\"javascript:formSubmit($vectorValores);\">EnlaceTest</a>\n";
?>
</form>


Pero el funcionamiento no es similar a cuando pulso al boton ... En algo me he equivocado o algo se me escapa ... [carcajad]
Lo siguiente te tiene que funcionar, lo he modificado (usando tu código y cambiandole algo para corregirlo):

<script>
    function formSubmit(vn)
    {
        document.getElementById('id-vn').value=vn;
        document.getElementById('nuevos').submit();
    }
</script>
<form action="pagina.php" method="post" name="nuevos" id="nuevos">
    <input type="hidden" id="id-vn" name="vn" value="<?php echo $vectorValores; ?>">
    <?php echo"<a href=\"javascript:formSubmit($vectorValores);\">EnlaceTest</a>\n"; ?>
</form>


La parte de recargar la página no entiendo muy bien lo que quieres hacer. Y por último, no se si el código anterior es un ejemplo pero el input id-vn está asignado desde el principio y con la función formSubmit le vuelves a asignar los mismos valores... y el enlace llamando a la función, es igual que si pones un input de tipo submit, pero claro, no se si lo quieres así por algo, no entiendo muy bien tu explicación.
Al final he pasado a algo así: (creo que queda más legible)
<form action="pagina.php" method="post" name="nuevos" id="nuevos" style="display: none">
    <input type="hidden" id="id-vn" name="vn" value="<?php echo $vectorValores; ?>">
</form>
<a href="" onclick=$('#nuevos').submit(); return false;" title="Texto al pasar puntero">EnlaceTest</a>


Gracias por la ayuda @frank1986 ;)
6 respuestas