Foros del Web » Programando para Internet » PHP »

Pasar por Post inputs con el mismo nombre

Estas en el tema de Pasar por Post inputs con el mismo nombre en el foro de PHP en Foros del Web. ¿Habría alguna manera de pasar esta cadena de textos por Post sin cambiar los names? Es decir, tal cual está y sin modificar los (name="nombre") ...
  #1 (permalink)  
Antiguo 27/10/2009, 12:47
 
Fecha de Ingreso: febrero-2008
Mensajes: 39
Antigüedad: 16 años, 2 meses
Puntos: 0
Pasar por Post inputs con el mismo nombre

¿Habría alguna manera de pasar esta cadena de textos por Post sin cambiar los names? Es decir, tal cual está y sin modificar los (name="nombre") se podría pasar a otra página por post la cadena Pepe, Marcos y Alejandro?

Código HTML:
<input name="nombre" value ="Pepe"> 
<input name="nombre" value ="Marcos"> 
<input name="nombre" value ="Alejandro"> 
Si lo prueblo a hacer así:
Código PHP:
$nombre=$_POST["nombre"]; 
Lógicamente sólo me pasa el último valor, "Alejandro". Y si hago uso de un ciclo como por ejemplo:

Código PHP:
while ($controlante 0){
$numero=$_POST["lista1".$i];

Tendría que modificar los names y no quiero hacerlo porque el script es muyyy complejo y tendría que rehacerlo de nuevo

Infinitas gracias!
  #2 (permalink)  
Antiguo 27/10/2009, 12:58
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Pasar por Post inputs con el mismo nombre

print_r($_POST["nombre"]); <-- que te devuelve eso?
  #3 (permalink)  
Antiguo 27/10/2009, 12:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Pasar por Post inputs con el mismo nombre

No, lee lo siguiente: http://www.php.net/variables.external necesitas usar la notación de array para que se envien todos los datos.

Saludos.
  #4 (permalink)  
Antiguo 27/10/2009, 12:59
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 16 años, 5 meses
Puntos: 30
Respuesta: Pasar por Post inputs con el mismo nombre

por supuesto que si mira:
<input name="nombre[]" value ="Pepe">
<input name="nombre[]" value ="Marcos">
<input name="nombre[]" value ="Alejandro">
y lo recibes
Código PHP:


foreach($_POST as $clave => $dato){

  if(!empty(
$dato)){
  
$numero[]=$_post[$clave];
  }

}
 
$num_datos=count($numero);

for(
$id=0;$id<$num_datos;$id++){
echo 
$numero[$id];

lo le hagas caso a las gentes que solo dicen no se puede
__________________
...
  #5 (permalink)  
Antiguo 27/10/2009, 13:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Pasar por Post inputs con el mismo nombre

zaetoner, tu implementación de recoger valores esta mal...

debe ser así:
Código PHP:
foreach ($_POST['nombre'] as $key => $value)
{
  
// ...

( no le hagas caso a la gente que dice que si se puede y no le sabe?)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 27/10/2009, 13:02
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 16 años, 5 meses
Puntos: 30
Respuesta: Pasar por Post inputs con el mismo nombre

tienes razon es que lo ise de rapido, debi revisar, muchas gracias saludos
Cita:
(no le hagas caso a la gente que dice que si se puede y no le sabe?)
si quieres puedes probar el codigo haber si estas en lo correcto con tu afirmacion o solo son habladas
__________________
...
  #7 (permalink)  
Antiguo 27/10/2009, 13:41
 
Fecha de Ingreso: febrero-2008
Mensajes: 39
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Pasar por Post inputs con el mismo nombre

Mil gracias!!!!
Impossible is nothing :D
  #8 (permalink)  
Antiguo 27/10/2009, 13:43
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 16 años, 5 meses
Puntos: 30
Respuesta: Pasar por Post inputs con el mismo nombre

lo lograste? o solo nos das gracias por responder? si quisiera saber por que me pusieron que no se de lo que hablo, por favor dime!!!!!!!
__________________
...
  #9 (permalink)  
Antiguo 27/10/2009, 13:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Pasar por Post inputs con el mismo nombre

Cita:
Iniciado por zaetoner Ver Mensaje
lo lograste? o solo nos das gracias por responder? si quisiera saber por que me pusieron que no se de lo que hablo, por favor dime!!!!!!!
es sarcasmo tío, tampoco te acomplejes...

yo lo puse, pero fue porque tu lo has dicho primero... sin ofender!!

--
digo, además de que no inicializas la variable $numero, usas $_POST en minúsculas también y redundas haciendo dos ciclos...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 27/10/2009, 13:52
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 16 años, 5 meses
Puntos: 30
Respuesta: Pasar por Post inputs con el mismo nombre

es broma, no te apures jajaja solo queria ver que decias no me enoje jajaj,
__________________
...
  #11 (permalink)  
Antiguo 27/10/2009, 14:18
 
Fecha de Ingreso: febrero-2008
Mensajes: 39
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Pasar por Post inputs con el mismo nombre

Lo logre sí! Acias de veras!

Pero ahora me acaba de surgir otro problemilla... jumm

Vereis tengo algo como ésto:

Código PHP:
foreach ($_POST['lista1'] as $key => $numero){
foreach (
$_POST['genero1'] as $key => $genero){
foreach (
$_POST['especie1'] as $key => $especie){
foreach (
$_POST['idsemilla1'] as $key => $idsemilla){    

  echo 
"- ".$genero." ".$especie." <i>(".$numero." paquetes de semillas)</i><br>
<input type ='hidden' value ='"
.$idsemilla."' name='idsemilla1".$i."'><input type ='hidden' value ='".$numero."' name='numero1".$i."'>";
  
 
$i++; 
}}}} 
Pero querría hacer algo como ésto en realidad:


Código PHP:
foreach (($_POST['lista1'] as $key => $numero) and ($_POST['genero1'] as $key => $genero) and ($_POST['especie1'] as $key => $especie) and ($_POST['idsemilla1'] as $key => $idsemilla)){

  echo 
"- ".$genero." ".$especie." <i>(".$numero." paquetes de semillas)</i><br>
<input type ='hidden' value ='"
.$idsemilla."' name='idsemilla1".$i."'><input type ='hidden' value ='".$numero."' name='numero1".$i."'>";
  
 
$i++; 

Lógicamente no funciona, ¿Qué alternativas se os ocurren?
Gracias de nuevo! Os voy a hacer una escultura
  #12 (permalink)  
Antiguo 27/10/2009, 14:20
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Pasar por Post inputs con el mismo nombre

hace un foreach a la ves.. y anda guardando los datos en un array que usaras finalmente con otro foreach XD!...
  #13 (permalink)  
Antiguo 27/10/2009, 14:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Pasar por Post inputs con el mismo nombre

Código PHP:
foreach ($foo as $i => $val)
{
  
$a $candy[$i];
  
$b $does[$i];
  
$c $nothing[$i];

  echo 
"$a,$b,$c";

algo así puede ser la otra, suerte!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 27/10/2009, 14:24
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Pasar por Post inputs con el mismo nombre

Código php:
Ver original
  1. foreach ($foo as $i => $val)
  2. {
  3.   $a = $candy[$i];
  4.   $b = $does[$i];
  5.   $c = $nothing[$i];
  6.  
  7.   echo "$a,$b,$c";
  8. }

eso solo sirve si tienen los mismo indices porsiacaso :B si es ese el caso es la mejor solucion :P
  #15 (permalink)  
Antiguo 27/10/2009, 14:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Pasar por Post inputs con el mismo nombre

Cita:
Iniciado por Hidek1 Ver Mensaje
[...] eso solo sirve si tienen los mismo indices porsiacaso :B si es ese el caso es la mejor solucion :P
exacto, efectivamente si todos los <input/> han sido creados del mismo modo, y sin índices (osea corchetes vacíos) si es la solución...

si especificas un ID, debes hacerlo con todos los name ... pero en este caso, debe servir...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #16 (permalink)  
Antiguo 27/10/2009, 15:34
 
Fecha de Ingreso: febrero-2008
Mensajes: 39
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Pasar por Post inputs con el mismo nombre

Gracias de nuevo!! Ya funciona todo perfecto

Mi código final ha sido:

Código PHP:
foreach ($_POST['lista1'] as $i => $val)
{
    
  
$numero $_POST['lista1'][$i];
  
$genero $_POST['genero1'][$i];
  
$especie $_POST['especie1'][$i];
  
$idsemilla $_POST['idsemilla1'][$i];

  echo 
"- ".$genero." ".$especie." <i>(".$numero." paquetes de semillas)</i><br>
<input type ='hidden' value ='"
.$idsemilla."' name='idsemilla1".$i."'><input type ='hidden' value ='".$numero."' name='numero1".$i."'>";

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 17:12.