Foros del Web » Programando para Internet » PHP »

problemas envio de arrays

Estas en el tema de problemas envio de arrays en el foro de PHP en Foros del Web. llenar una array con datos que llegan de post, se llega infinitas veces a la página, y cada vez que se llega tengo que guardar ...
  #1 (permalink)  
Antiguo 17/01/2008, 04:52
 
Fecha de Ingreso: diciembre-2007
Mensajes: 140
Antigüedad: 16 años, 4 meses
Puntos: 0
llenar una array con datos que llegan de post

llenar una array con datos que llegan de post,
se llega infinitas veces a la página, y cada vez que se llega tengo que guardar el dato que llega en un mismo array. el problema es que cada vez que se va a guardar un dato en el array me machaca el anterior , no guarda el dato en la siguiente posicion

//RECIBO LOS DATOS DEL FORMULARIO E INSERTO EN EL ARRAY
if(!empty($_POST["pregun"])){
$pre=$_POST["pregun"];
$res=$_POST["resp"];
echo $pre."<br/>";
echo $res."<br/>";
$insertar=$pre."|".$res;
$pruebas=array();
$pruebas=$_POST["pruebas"];
$pruebas=$insertar;

foreach ($pruebas as $subIndice=> $subValor) {
echo "[$subIndice]=$subValor<br>";
}
//ENVIO DE DATOS
<input name="pruebas[]" type="hidden" value="<? echo $pruebas;?>" />
<textarea name="pregun" cols="40" rows="6" id="pregun"></textarea> <textarea name="resp" cols="40" rows="6" id="resp"></textarea>

Un saludo y gracias a todos los que haceis posible este foro que es de gran ayuda para las novatas como yo
  #2 (permalink)  
Antiguo 17/01/2008, 06:36
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: llenar una array con datos que llegan de post

Para guardar cada vez en la siguiente posición de una matriz, la forma más sencilla es

$matriz[] = "Contenido a agregar";

Por otro lado, para guardar información entre páginas, lo ideal es usar sesiones

Espero te sirva.

Saludos
  #3 (permalink)  
Antiguo 17/01/2008, 07:15
 
Fecha de Ingreso: diciembre-2007
Mensajes: 140
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: llenar una array con datos que llegan de post

Gracias pero no es posible usar sesiones, seguiré probando
  #4 (permalink)  
Antiguo 17/01/2008, 10:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: llenar una array con datos que llegan de post

Si puedes usar sesiones tendrás que guardar el valor en un medio persistente como un archivo de texto, o una base de datos.

Saludos.
  #5 (permalink)  
Antiguo 17/01/2008, 10:15
 
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
  #6 (permalink)  
Antiguo 17/01/2008, 10:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: problemas envio de arrays

Por favor no dupliques temas, estos temas hablan de lo mismo y ya se ha publicado la solución, debes de usar un medio persistente para pasar los datos.

Saludos.
  #7 (permalink)  
Antiguo 17/01/2008, 10:35
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 16 años, 5 meses
Puntos: 14
Re: problemas envio de arrays

Hola suncubus

En php existen las funciones explode e implode que convierten un arreglo en un string y viceversa, en javascript estan split y join que hacen la misma cosa, si las utilizas no tendras necesidad de estar pasando areglos de un lado a otro
__________________
My path is lit by my own fire, I only go where I desire
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:02.