Leer Formularios

Landeber
15 de Diciembre del 2005
Hola, que tal:

Estoy haciendo la captura de datos de un formulario mediante php, para almacenarlas despues en mysql.

El detalle esta en que necesito usar un combobox que permita selccion multiple, y obviamnet rescatar los datos selccionados.

El problema en si es que cuando imprimo $_POST['lista']; (nombre del combobox), solo me da el ultimo valor selccionado.

He hecho una prueba, y aqui esta un ejemplo con el code:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<?
if(isset($_POST['lista'])){


echo "datos enviados ".$_POST['lista'])){;
}
?>
<form id="form1" name="form1" method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
<p>
<select name="lista" size="3" multiple="multiple" id="lista">
<option value="valor1">valor1</option>
<option value="valor2">valor2</option>
<option value="valor3">valor3</option>
</select>
</p>
<p>&nbsp;</p>
<p>
<input type="submit" name="Submit" value="Enviar" />
</p>
</form>
</body>
</html>



Podrian decirme que estoy haciendo mal?

Gracias, saludos

my2kbsd
15 de Diciembre del 2005
Te falfo indicar que es un arreglo en el HTML es decir en el combo, agregando asi lista[], y ya con eso solucionas las cosas, te regreso tu ejemplo ya modificado para que funcione.

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
</head>

<body>
<?
if(isset($_POST[\'Submit\'])){
//Acceder mediante foreach
echo \'Foreach<br />\';
foreach($_POST[\'lista\'] as $key => $value) {
echo $key.\' ==> \'.$value.\'<br />\';
}

//Acceder manualmente
$valores = $_POST[\'lista\'];
echo \'<br />Manualmente<br />\'.$valores[0].\'<br />\'.$valores[1].\'<br />\'.$valores[2];

}
?>
<form id="form1" name="form1" method="post" action="<? $_SERVER[\'PHP_SELF\']?>">
<p>
<select name="lista[]" size="3" multiple="multiple" id="lista">
<option value="valor1">valor1</option>
<option value="valor2">valor2</option>
<option value="valor3">valor3</option>
</select>
</p>
<p> </p>
<p>
<input type=\'submit\' name=\'Submit\' value=\'Enviar\' />
</p>
</form>
</body>
</html>

landeber
15 de Diciembre del 2005
Hola:

Muchisimas gracias por tu respuesta, al pricincipio me confundieron un poco las diagonales inversas, pero despues de quitarlas quedo completamente listo.

Muchas gracias de nuevo, y pues por aqui les estare dando lata.

Saludos