Foros del Web » Programando para Internet » PHP »

como obtengo lo valores de un array de un formulario

Estas en el tema de como obtengo lo valores de un array de un formulario en el foro de PHP en Foros del Web. hola, tengo un problemilla con un formulario ya que tengo unos checkbox y no se como obtener el array donde se guardan , no se ...
  #1 (permalink)  
Antiguo 17/01/2009, 15:18
 
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 16 años, 1 mes
Puntos: 0
como obtengo lo valores de un array de un formulario

hola, tengo un problemilla con un formulario ya que tengo unos checkbox y no se como obtener el array donde se guardan , no se si me explico lo tengo asi.

Código PHP:
<?
// Realizar la conexión a la BD 
include ("config.php");
// Ejecutar la consulta para obtener los datos de la BD.
$resultado=mysql_query("SELECT * FROM tabla");

// Se inicial el formulario
echo "<form action=\"procesar.php\" method=\"post\"> \n";

// Extraemos y componemos los checbox dinámicos de los datos de nuestra tabla de la BD.
while ($row mysql_fetch_array($resultado)){
  echo 
"<input type=\"checkbox\" name=\"seleccion[]\" value=\"".$row['id']."\">".$row['nombre']."<br>";
}
<
br>
<
input class="inputNormal" type="text" id="Nombre">
// Cerramos el formulario y ponemos nuestro botón de Submit.
echo "<input type=\"submit\" name=\"Submit\" value=\"Enviar\">";
echo 
"</form>";
?>
Lo que quiero hacer en obetener el array seleccion para posteriormente pasarselo por ajax a un mail.php
supongo q sera algo como si obtienes el nombre document.formulario.Nombre.value pero no me funciona.
Alguna idea ???

Luego en el mail haria un

$lista=implode(',',$indice);
echo $lista;

para separar los valores q han sido selecionados.

No se si me he explicado bien sea como sea os pido ayuda.
un saludo y gracias.
  #2 (permalink)  
Antiguo 17/01/2009, 15:40
 
Fecha de Ingreso: enero-2009
Ubicación: Mexico
Mensajes: 99
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: como obtengo lo valores de un array de un formulario

Tu bronca no es de JavaScript, sino de HTML y PHP...

Al generar el formulario prueba esto:

Código PHP:
$i=0;
while (
$row mysql_fetch_array($resultado)){ 
  echo 
"<input type=\"checkbox\" name=\"seleccion[".$i."]\" value=\"".$row['id']."\">".$row['nombre']."<br>"
$i++;

Y para tomar los datos:

Código PHP:
$dato=$_POST['seleccion'][$i]; 

Última edición por codecweb98; 17/01/2009 a las 15:41 Razón: correcion
  #3 (permalink)  
Antiguo 17/01/2009, 15:55
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: como obtengo lo valores de un array de un formulario

Hola:

Un array para recibirlo con php debe tener un juego de corchetes para indicarlo en el atributo name del control (tal como veo que tienes)... y lo recibes bien con el implode pero de la variable que has usado...

$lista=implode(',',$_POST["seleccion"]);

Fíjate que en php ya no se ponen esos corchetes.

Lo que no llego a entender es lo de ajax, aunque no parece que sea parte de la pregunta... por cierto, muevo el mensaje a php que parece que es el foro adecuado.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 17/01/2009, 17:14
 
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: como obtengo lo valores de un array de un formulario

en primer lugar gracias por responder, lo que habeis comentado ya lo había probado aparte en un archivo de prueba y efectivamente me habia funcionado, pero el problema esque desde el formulario.php al mail.php le paso las variables a traves de ajax y claro es javascript

Código PHP:
var nombre=eliminaEspacios(form.inputNombre.value);
var 
apellidos=eliminaEspacios(form.apellidos.value);

var 
ajax=nuevoAjax();
        
ajax.open("POST"mail.phptrue);
        
ajax.setRequestHeader("Content-Type""application/x-www-form-urlencoded");
        
ajax.send("nombre="+nombre+"&apellidos="+apellidos"); -->Aqui las variables
        
        ajax.onreadystatechange=function()
        {
            if (ajax.readyState==4)
            {
                var respuesta=ajax.responseText;
                if(respuesta=="
OK")
                {
                    var texto="
<img src='ok.gif' alt='Ok'><br>Gracias por su mensaje.<br>Le responderemos a la brevedad.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
                }
                else var texto="
<img src='error.gif'><br><br>Errorintente más tarde.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
                
                muestraMensaje(texto);
            }
        } 
Por eso pensaba q el problema estaba en como hacerlo con javascript, no se, esque no se como hacerlo, porque me va de fabulas salvo claro esta los checkbox, el formulario es mas completo pero es pongo lo basico.
  #5 (permalink)  
Antiguo 18/01/2009, 09:09
 
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: como obtengo lo valores de un array de un formulario

Osea como hago para obtener el array de seleccion[".$i."] o seleccion[] q también funciona y pasarselo al mail.php.

he probado con
var indi=form['contador[]'][i];

pero al recibir indi en el mail me pone [object HTMLInputElement] cosa q algo debe estar mal pero almenos he conseguido enviar algo.

A ver si lo puedo solucionar para el lunes. gracias de antemano.
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 08:59.