Foros del Web » Programando para Internet » PHP »

Duda con name en input

Estas en el tema de Duda con name en input en el foro de PHP en Foros del Web. hola tengo una duda veran estuve haciendo un formulario que se genera automaticamente una cierta cantidad de preguntas y las desplega en pantalla cada pregunta ...
  #1 (permalink)  
Antiguo 28/12/2009, 12:54
 
Fecha de Ingreso: octubre-2009
Mensajes: 125
Antigüedad: 14 años, 6 meses
Puntos: 1
Duda con name en input

hola tengo una duda veran estuve haciendo un formulario que se genera automaticamente una cierta cantidad de preguntas y las desplega en pantalla cada pregunta con sus respectivas opciones y lo que intente hacer :
claro que esta dentro de un ciclo para que $i

Código HTML:
<?php
$var="respuesta";
?>
<input type="checkbox" name="<?php $var.$i[]; ?>" value="<?php echo $i; ?>" > 
se que al hacer $var.$i deberia quedar algo como respuesta1 y almacenado en un array, en el siguiente ciclo estaria en respuesta2 almacenado en su array.
pero al momento del $_POST
no me muestra nada pero si cambio el name a algo literal como

name= "respuesta"
ahi funciona pero eso no es lo que quiero ya que el numero de preguntas en el formulario puede cambiar de acuerdo a un ajuste anterior
mi pregunta es esta bien el name con php? y si esta bien como hago el post grax desde ya
  #2 (permalink)  
Antiguo 28/12/2009, 12:56
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Duda con name en input

Código PHP:
Ver original
  1. name="<?php echo $var.$i."[]"; ?>"

si le dejas como lo tienes tu
1 no tiene echo asi q no te mostrara nada
2 estas intentando mostrar un dato array de $i
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 28/12/2009, 13:01
 
Fecha de Ingreso: octubre-2009
Mensajes: 125
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Duda con name en input

y en el post como tendria que ser muchas gracias Hidek 1 entonces los corchetes deben estar entre llaves en el post como recibiria
la parte que no me ubico es
$var=$_POST["que va aca??"]
si mi variable en el form es $var="respuesta";
  #4 (permalink)  
Antiguo 28/12/2009, 13:02
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 17 años, 11 meses
Puntos: 7
Respuesta: Duda con name en input

$var=$_POST[var]
  #5 (permalink)  
Antiguo 28/12/2009, 13:05
 
Fecha de Ingreso: octubre-2009
Mensajes: 125
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Duda con name en input

Cita:
Iniciado por Hidek1 Ver Mensaje
2 estas intentando mostrar un dato array de $i
pues no $i es solo para poner respuesta1
cuando es checkbox pones el name=$var[] se incrementa solo por eso al momento de seleccionar mas de 1 no es problema dejarlo vacio la variable $i es para saber a que pregunta pertencen las respuestas =D espero me entiendas
  #6 (permalink)  
Antiguo 28/12/2009, 13:05
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Duda con name en input

$var = $_POST[$var.$i]
__________________
More about me...
~ @rhyudek1
~ Github
  #7 (permalink)  
Antiguo 28/12/2009, 13:06
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Duda con name en input

aa entonces seria

Código PHP:
Ver original
  1. name="<?php echo $var."[$i]"; ?>"
__________________
More about me...
~ @rhyudek1
~ Github
  #8 (permalink)  
Antiguo 28/12/2009, 13:07
 
Fecha de Ingreso: octubre-2009
Mensajes: 125
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Duda con name en input

XD muchas gracias a todos yo intentaba poner
$var= $_POST[respuesta1] seguramente fue por eso que no me mostraba nada gracias voy a intentar haber que tal me va
  #9 (permalink)  
Antiguo 28/12/2009, 13:08
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Duda con name en input

Para evitar toda esta complicación usa los nombres como array
Código html:
Ver original
  1. <input type="checkbox" name="nombreDeseado[]" value="<?php echo $i; ?>" >
  2. <input type="checkbox" name="nombreDeseado[]" value="<?php echo $i; ?>" >
  3. <input type="checkbox" name="nombreDeseado[]" value="<?php echo $i; ?>" >
  4. <input type="checkbox" name="nombreDeseado[]" value="<?php echo $i; ?>" >
  5. <input type="checkbox" name="nombreDeseado[]" value="<?php echo $i; ?>" >
  6. <input type="checkbox" name="nombreDeseado[]" value="<?php echo $i; ?>" >
  7. <input type="checkbox" name="nombreDeseado[]" value="<?php echo $i; ?>" >
  8. <input type="checkbox" name="nombreDeseado[]" value="<?php echo $i; ?>" >
  9. <input type="checkbox" name="nombreDeseado[]" value="<?php echo $i; ?>" >
Y al leerlo solo tienes que hacer esto.
Código PHP:
Ver original
  1. <?php
  2. foreach($_POST["nombreDeseado"] as $v){
  3.   echo $v;
  4. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #10 (permalink)  
Antiguo 28/12/2009, 13:24
 
Fecha de Ingreso: octubre-2009
Mensajes: 125
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Duda con name en input

abimaelrc
grax pero el problema esta en el name no en el value el valor para mi es estatico se genera desde 1 hasta el numero de posibilidades el nobre igual
se genera
Código HTML:
<?php
$var="respuesta";

?>
         <input type="checkbox" name="<? echo $var.$i[];?>" value="1" >
         <input type="checkbox" name="<? echo $var.$i[];?>" value="2" >
   
$var.$i queda respuesta1 o respuestaN donde N es un numero va aunmentando a medida que el ciclo avanza
es decir para cada pregunta generare su array y aun sigue sin mostrarme si alguien me ayuda por favor no se si esta bien meter codigo php en el name y si esta bien como llamo en el $_POST["que pongo"]
  #11 (permalink)  
Antiguo 28/12/2009, 13:27
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Duda con name en input

Con lo que te indique evitas, ese tipo de problema, porque el interprete de PHP entiende que es una llave numérica. Trata lo que te indique para que veas.
Código HTML:
Ver original
  1. <input type="checkbox" name="nombreDeseado[]" value="<?php echo $i; ?>" >
  2. <input type="checkbox" name="nombreDeseado[]" value="<?php echo $i; ?>" >
  3. <input type="checkbox" name="nombreDeseado[]" value="<?php echo $i; ?>" >
  4. <input type="checkbox" name="nombreDeseado[]" value="<?php echo $i; ?>" >
  5. <input type="checkbox" name="nombreDeseado[]" value="<?php echo $i; ?>" >
  6. <input type="checkbox" name="nombreDeseado[]" value="<?php echo $i; ?>" >
  7. <input type="checkbox" name="nombreDeseado[]" value="<?php echo $i; ?>" >
  8. <input type="checkbox" name="nombreDeseado[]" value="<?php echo $i; ?>" >
  9. <input type="checkbox" name="nombreDeseado[]" value="<?php echo $i; ?>" >
Y en el php
Código PHP:
Ver original
  1. <?php
  2. foreach($_POST["nombreDeseado"] as $v){
  3.   echo $v;
  4. }
NOTA:
Todos los "checkbox" que esten marcados son aquellos que va a reconocer PHP. Aquellos que no esten marcados no se pueden leer. Es decir, si tienes 5 checkbox y marcas 2, cuando PHP lee los checkbox solo va a ver dos y los otros tres no fueron procesados mediante el post. Tambien se complica un poco si colocas nombres y numeros. Vamos a suponer que tienes seleccionado los últimos dos

nombre4
nombre5

Cuando vamos a ver que PHP los lea y lo haces con un bucle los vas a tener que hacer usando por ejemplo count() y esto al tratar de otorgarle los nombres los va a colocar así

nombre1
nombre2

Porque el conteo de count va a indicar que tienes solo 2 checkbox.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #12 (permalink)  
Antiguo 28/12/2009, 13:37
 
Fecha de Ingreso: octubre-2009
Mensajes: 125
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Duda con name en input

ya intenti asi funciona pero como puedo hacer para hacer el name o es que no se puede porque no quisiera que todo gire alrededor del name al parecer ahi esta mi problema si no se puede ya vere como arreglarmelas pero muchas gracias me doy cuenta que el problema esta en el name o no reconoce en el input o en post grax
  #13 (permalink)  
Antiguo 28/12/2009, 13:43
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Duda con name en input

Puedes hacer un array multidimencional. Ejemplo
Código PHP:
Ver original
  1. <input type="checkbox" name="nombreDeseado[][]" value="<?php echo $i; ?>" >
  2. <input type="checkbox" name="nombreDeseado[][]" value="<?php echo $i; ?>" >
  3. <input type="checkbox" name="nombreDeseado[][]" value="<?php echo $i; ?>" >
  4. <input type="checkbox" name="nombreDeseado[][]" value="<?php echo $i; ?>" >
  5. <input type="checkbox" name="nombreDeseado[][]" value="<?php echo $i; ?>" >
  6. <input type="checkbox" name="nombreDeseado[][]" value="<?php echo $i; ?>" >
  7. <input type="checkbox" name="nombreDeseado[][]" value="<?php echo $i; ?>" >
Y en el PHP
Código PHP:
Ver original
  1. <?php
  2. foreach($_POST["nombreDeseado"] as $v){
  3.   foreach($v as $v2){
  4.     echo $v2;
  5.   }
  6. }
Por cada array tienes que colocar un foreach.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #14 (permalink)  
Antiguo 28/12/2009, 13:48
 
Fecha de Ingreso: octubre-2009
Mensajes: 125
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Duda con name en input

estuve urgando desde la mañana y ya se como hacerle
$var="respuesta";
$i=1;
$resp=$var.$i;
<input type="checkbox" name="$resp" value="1" >
asi me funciona y en el post
$var=$_POST['$resp']
y asi con eso ya se dan una idea
pero quiero darles las gracias a todos los que me ayudaron con paciencia ya se como hacerle son los mejores si un dia vienen a la paz bolivia los ayudare en todo lo que pueda bye cuidense hasta en otra
gracias porque sus ideas me motivaron a todo
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 14:08.