Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Hacer un array in situ

Estas en el tema de Hacer un array in situ en el foro de PHP en Foros del Web. Tengo la siguiente duda: Tengo este formulario que se procesa con ajax: <form> <input type="text" name="texto" /> <input type="button" name="enviar" value="pulsame" onclick="mifuncion(this.form.texto.value);" /> </form> Ajax ...
  #1 (permalink)  
Antiguo 22/02/2015, 15:26
 
Fecha de Ingreso: enero-2015
Ubicación: Cordoba, Andalucía
Mensajes: 111
Antigüedad: 9 años, 3 meses
Puntos: 15
Hacer un array in situ

Tengo la siguiente duda:

Tengo este formulario que se procesa con ajax:

<form>
<input type="text" name="texto" />
<input type="button" name="enviar" value="pulsame" onclick="mifuncion(this.form.texto.value);" />
</form>

Ajax envía por GET el value del input text a un archivo php que tiene este código:


$nueva_variable=$_GET["variable"];
$z[]=$nueva_variable;
print_r($z);

Quiero hacer un array en $z con los valores que vaya insertando en el input text.

Porque lo que me ocurre ahora es que no hace un array, $z se borra cada vez que pulso el button y el array siempre tiene un solo valor que es el último que he introducido, y quiero que los valores anteriormente introducidos permanezcan en $z.

Como puedo hacer este array??

Gracias de antemano.
  #2 (permalink)  
Antiguo 23/02/2015, 02:13
 
Fecha de Ingreso: septiembre-2014
Mensajes: 180
Antigüedad: 9 años, 7 meses
Puntos: 14
Respuesta: Hacer un array in situ

Puedes probar utilizando variables de sesión, es normal que cada vez te guarde el último valor, porque cada vez que se envía el formulario accede de nuevo a la página donde montas el array. Puedes probar con algo como:

Código PHP:
Ver original
  1.  
  2. $nueva_variable=$_GET["variable"];
  3. $_SESSION["variable_array"][]=$nueva_variable;
  4. print_r($_SESSION["variable_array"]);
__________________
Unelink.es - VPS, servidores dedicados, hosting y dominios. 10 años a tu lado.
  #3 (permalink)  
Antiguo 23/02/2015, 03:25
 
Fecha de Ingreso: enero-2015
Ubicación: Cordoba, Andalucía
Mensajes: 111
Antigüedad: 9 años, 3 meses
Puntos: 15
Respuesta: Hacer un array in situ

Tampoco me funciona, pero de todas formas gracias era una posible solución.

include 'funcion.php';

<form method="post" action="" >
<input autofocus type="text" value="" name="texto" />
<input type="submit" value="enviar" name="enviar" />
<?php if(isset($z))
for ($i=0; $i<count($z);$i++)
echo'<input type="hidden" value="'.$z[$i].'" name="array[]" />';
?>
</form>

y en funcion.php

if(isset($_POST['enviar'])){
if(isset($_POST['array']))
foreach ( $_POST["array"] as $valor )
$z[]=$valor;
$z[]=$_POST['texto'];

}

Esto me gustaría hacerlo con javascript o ajax pero ya no me chutan más las neuronas.
  #4 (permalink)  
Antiguo 23/02/2015, 08:22
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Hacer un array in situ

Si lo quieres hacer con js, tienes que hacer la pregunta en el foro correpondiente
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 23/02/2015, 16:39
 
Fecha de Ingreso: enero-2015
Ubicación: Cordoba, Andalucía
Mensajes: 111
Antigüedad: 9 años, 3 meses
Puntos: 15
Respuesta: Hacer un array in situ

Al final lo arreglé con ajax y las variables de SESSION como decía json
Gracias por tu recomendación.

Etiquetas: formulario, variable
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 05:22.