Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/01/2008, 10:15
suncubus
 
Fecha de Ingreso: diciembre-2007
Mensajes: 140
Antigüedad: 16 años, 4 meses
Puntos: 0
problemas envio de arrays

Necesito ir cargando un array con los valores introducidos por el usuario en los campos pregun y resp. Cada vez que el usuario introduce datos nuevos le da a agregar. Al pinchar va a una función javascript que envía el formulario y entonces se guardan los datos en el array.
- No consigo volver a enviar el array otra vez al enviar el formulario. Utilizo serialize() y unserialize().
- Cada vez que guardo en el array me machaca el dato anterior, siempre me lo guarda en la misma posición.
- Necesito volver a cargar la página una vez guardado el array ya que luego tengo que ir mostrando los elementos del array en los campos de texto para que puedan ser modificados y borrados por el usuario.


<!--Recarga la página-->
<SCRIPT language="Javascript">
function recarga(valor) {
document.formulario1.action="propias.php?volver="+ valor
document.formulario1.submit();
}
</SCRIPT>


//Recibo preguntas y respuestas desde propias.php
if(!empty($_POST["pregun"])){
$pre=$_POST["pregun"];
$res=$_POST["resp"];
}
//Recibo pruebas desde propias.php array donde quiero guardar los datos
$pruebas=array();
if(!empty($_POST["pruebas"])){
$pruebas=$_POST["pruebas"];
$pruebas=unserialize($pruebas);
foreach ($pruebas as $c=> $v) {
echo $v; No muestra nada
}

}


<form name="formulario1" method="post" >
<input name="pruebas" type="hidden" value="<? echo serialize($pruebas);?>"/>

<div id="menupropias">
<p><a href="javascript:recarga(1)">nueva</a></p>
<p><a href="javascript:recarga(2)">agregar</a></p>
<p><a href="javascript:recarga(3)">modificar</a></p>
<p><a href="javascript:recarga(4)">borrar</a></p>

</div>
<div id="txtpropias">
<label for="pregun">ACTIVIDAD - numero/total</label><br/>
<textarea name="pregun" cols="40" rows="6" id="pregun"></textarea>
<br/>
<label for="resp">SOLUCIÓN</label><br/>
<textarea name="resp" cols="40" rows="6" id="resp"></textarea>
</div>

</div>
<div id="borrar"></div>

</div>

<?
if(!empty($_GET["volver"])){
$volver=$_GET["volver"];

if($volver==1){
echo "Aqui dejo los textarea en blanco"; ?>
<SCRIPT language="Javascript">
document.formulario1.pregun.value="";
document.formulario1.resp.value="";
</SCRIPT><?
$pruebas=serialize($pruebas);
}
if($volver==2){
echo "ESTOY EN EL agregar un nuevo elemeto al array";
$insertar=$pre."|".$res;
$pruebas[]=$insertar;
foreach ($pruebas as $c=> $v) {
echo "[$c]=$v<br>";
} Muestra los datos
?>
<SCRIPT language="Javascript">
document.formulario1.pregun.value="<? echo $pre;?>";
document.formulario1.resp.value="<? echo $res;?>";
document.formulario1.pruebas.value="<? echo serialize($pruebas);?>";
</SCRIPT>
<?
}
if($volver==3){
echo "ESTOY EN EL modificar";
}
if($volver==4){
echo "ESTOY EN EL borrar";
}
if($volver==5){
echo "ESTOY EN EL arriba";

}
if($volver==6){
echo "ESTOY EN EL abajo";
}
}

?>
</form>


Un saludo a todos y gracias de antemano