pasar una array desde formulario a la misma pagina

yrg
31 de Agosto del 2004
la idea es que despues de una consulta al mysql, guardo unas arrays con preguntas y respuestas. presento las preguntas, y luego trato de presentar las respuestas, pero sin una nueva consulta y en la misma pagina sin embargo lo mas que logro es la ultima respuesta y del resto me dice que
'Undefined offset: 1'
'Undefined offset: 2' etc...

he probado con
<form METHOD=post ACTION="preguntes.php" target="_blank">
foreach($resposta1 as $key=>$value) {
echo "<input type='hidden' name='resposta' value='".$value."'>";
<input name="boto" type="submit" value="corretgir" >
</form>

y luego al llamar de nuevo la pagina lo recupero;

$resposta=array ($_POST['resposta']);
for ($i=0;$i<40;$i++)
{
echo "<br>".$resposta[$i];
}

precisamente cogi la idea de este foro, pero como no era el mismo problema, entiendo que no me funcione.
en resumen, que lo qeu quiero es PASAR UNA ARRAY MEDIANTE EL FORM A LA MISMA PAGINA Y RECUPERARLO ENTERITO.
(si es posible..)
MUCHAS GRACIAS!

Kronos
31 de Agosto del 2004
La idea es que el valor de las variables se pierden al pasar a una nueva pagina.
Lo que estas haciendo es cargar el resultado en un array de ambito "local", osea, al enviar el formulario perderas los valores de ese array.

Puedes declarar una variable array de sesion, de esta forma los valores se conservaran mientras la sesion este abierta.

<?php
session_start();
if (!isset($_POST["enviar"]))
{
session_register(\'respuestas\');
print("<form method=post");
// Haces la consulta a la base de datos y guardas el resultado en el array. Guarda tambien el numero de respuestas por ejemplo en $filas.

print("<input type=submit name=enviar value=Enviar></form>");
}
else
{
for ($i=0;$i<$filas;$i++)
print($_SESSION["respuestas"][$i]."<br>");
session_unregister(\'respuestas\');
}
?>

No he tenido tiempo de proba reste codigo y posiblemente de algunos fallos, pero lo importante creo que es la idea.

Para enviar un formulario a la misma pagina usa el if (isset($_POST["enviar"])) y asegurate de que el formulario usa el metodo POST y no hay action.

Espero haber ayudado.
Saludos.