Foros del Web » Programando para Internet » PHP »

enviar form varias veces y concatenar lo que llega en variable

Estas en el tema de enviar form varias veces y concatenar lo que llega en variable en el foro de PHP en Foros del Web. quiero enviar varias veces un formulario por ejemplo, tengo 3 checkboxes <input type="checkbox" name="color[]" value="me gusta el color rojo" id=1> <input type="checkbox" name="color[]" value="me gusta ...
  #1 (permalink)  
Antiguo 06/04/2010, 16:13
 
Fecha de Ingreso: abril-2010
Mensajes: 2
Antigüedad: 14 años, 7 meses
Puntos: 0
enviar form varias veces y concatenar lo que llega en variable

quiero enviar varias veces un formulario

por ejemplo, tengo 3 checkboxes

<input type="checkbox" name="color[]" value="me gusta el color rojo" id=1>
<input type="checkbox" name="color[]" value="me gusta el color azul" id=2>
<input type="checkbox" name="color[]" value="me gusta el color amarillo" id=3>


y el usuario puede elegir 1 o mas colores, entonces al enviar el form obtengo con post los checkboxes clickeados y los guardo en una variable

supongamos que al enviar el form por primera vez obtuve
$clickeados="me gusta el color rojo, me gusta el color azul" (obteniendo su value)

como hago para que al volver a enviar el form lo que ya tenia en $clickeados no se píerda o actualice, es decir, se concantene con el nuevo valor

supongamos que a la segunda vez clickeados quedaria asi (es lo que quiero)
$clickeados="me gusta el color rojo, me gusta el color azul, me gusta el color rojo, me gusta el color amarillo";

intente asi

$clickeados .= $clickeados

pero solo obtiene lo del ultimo envio de form

y quiero que se vayan concatenando los valores cada vez que envio el form, que no pierda lo que tenia esa variable antes

como podria hacer eso?
  #2 (permalink)  
Antiguo 06/04/2010, 16:23
Avatar de cemansilla  
Fecha de Ingreso: septiembre-2007
Ubicación: Buenos Aires, Argentina, Argentina
Mensajes: 214
Antigüedad: 17 años, 2 meses
Puntos: 6
Respuesta: enviar form varias veces y concatenar lo que llega en variable

Tenés varias opciones, lo podés hacer almacenando el contenido en variables de sessión. O bien podrías almacenarlo en un campo oculto dentro del form que se vaya actualizando tras cada envio.

La idea es almacenar en algún lugar que perdure tras cada envio, espero haber sido claro.

Saludos!
__________________
CÉSAR MANSILLA
Web & Mobile Developer - Analista - Creativo - Curioso
http://cesarmansilla.com/
http://cesarmansilla.com/blog/
  #3 (permalink)  
Antiguo 06/04/2010, 16:24
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 15 años, 3 meses
Puntos: 66
Respuesta: enviar form varias veces y concatenar lo que llega en variable

Mira las variables de sesión en php

saludos

Edito->Perdona @cemansilla estaba editando no vi tu resp.
__________________
Tu álbum de cromos online!!
  #4 (permalink)  
Antiguo 06/04/2010, 16:59
 
Fecha de Ingreso: abril-2010
Mensajes: 2
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: enviar form varias veces y concatenar lo que llega en variable

gracias a los que me respondieron, lo trate de hacer con variable de sesion pero no se concatena, solo se obtiene lo de el ultimo envio de form

aqui esta mi codigo, si alquien me hace el favor de correrlo (no tiene errores) se lo agradeceria, cualquier pista es bienvenida

Código:
<?php
	session_start();
	$busqueda=array("mails1","mails2","mails3","mails4","mails5");						
	$numArchivos=count($busqueda);
?> 
<html>
	<head>
	</head>
	<body>	
		<center>  
			<form name="formulario" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" >
				<table style="border:1px solid #000000; ">
					
					<tr>
						<td>
						<?PHP
							for($i=0; $i<$numArchivos; $i++)
							{
								echo "<input name=\"busqueda[]\" type=\"checkbox\" value=\"$busqueda[$i]\" id=\"$busqueda[$i]\">$busqueda[$i] <br>";
							}
						?>
						</td>
					</tr>
					<tr>
						<td align="center" bgcolor="white" >
							<input name="Seleccionar" type="submit" value="Seleccionar">
						</td>
					</tr>
				</table>
			</form>
		</center>
		
	</body>
</html>

<?PHP
	//comprobamos si ha sido enviado el formulario
	if(isset($_POST['Seleccionar']) && $_POST['Seleccionar'] == 'Seleccionar')
	{
		
		$lista_archivos = "";
		if (isset($_POST['busqueda']))  							//si se selecciono algun checkbox
		{
			$archivoElegido=$_POST['busqueda'];						//arreglo que guarda los values de los checkboxes elegidos
			for($i=0;$i<count($archivoElegido);$i++)				//recorre arreglo 
			{
				$lista_archivos .= $archivoElegido[$i].",";			//concatena todos los values (nombres de archivo con extension) agregandoles una coma
			}
		} 
		$listaArchivos = $lista_archivos;   
		$listaArchivos = substr ($listaArchivos, 0, -1);			//listaArchivos es una cadena que tendra la lista de archivos elegidos, eliminando el ultimo caracter (una coma) 
		
		echo "<center><table style=\"border:1px solid #000000;\"><tr><td>ha elegido los archivos<br><b>".$listaArchivos."</b></td></tr></table></center>";
		echo "<br>";
	}
	$_SESSION['mails']=$listaArchivos;
	$concatenados.=$_SESSION['mails'];
	echo "concatenados: ".$concatenados;
?>
  #5 (permalink)  
Antiguo 06/04/2010, 19:05
 
Fecha de Ingreso: diciembre-2009
Mensajes: 612
Antigüedad: 14 años, 11 meses
Puntos: 16
Respuesta: enviar form varias veces y concatenar lo que llega en variable

prueba con hidden.

Es un tipo de form, que crea un campo oculto

Etiquetas: concatenar, enviar, llega, variables, formulario
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 16:49.