Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con formulario escrito con php

Estas en el tema de Problema con formulario escrito con php en el foro de PHP en Foros del Web. Hola a tod@s! Tengo un problema: escribo una serie de formularios con una sentencia while de manera que queda de esta forma: <tr><td>FACTURA</td><td>FECHA</td><td>CLIENTE</td></tr> <tr><td><form name="edicion1" ...
  #1 (permalink)  
Antiguo 13/03/2011, 04:43
 
Fecha de Ingreso: septiembre-2008
Ubicación: Manises,Valencia
Mensajes: 114
Antigüedad: 15 años, 6 meses
Puntos: 13
Problema con formulario escrito con php

Hola a tod@s!

Tengo un problema: escribo una serie de formularios con una sentencia while de manera que queda de esta forma:
<tr><td>FACTURA</td><td>FECHA</td><td>CLIENTE</td></tr>
<tr><td><form name="edicion1" action="edito_factura.php" method="post" target="_self">
<input type="hidden" name="numero_f" value="1"><input type="submit" name="enviar"
value="1"></td><td>2010-11-21</td><td>MIRIAM SALINAS MARIN</td></tr>
<tr><td><form name="edicion2" action="edito_factura.php" method="post" target="_self">
<input type="hidden" name="numero_f" value="3502"><input type="submit" name="enviar"
value="3502"></td><td>2010-11-26</td><td>CASA REPOSO SAN ONOFRE</td></tr>
<tr><td><form name="edicion3" action="edito_factura.php" method="post" target="_self">
<input type="hidden" name="numero_f" value="3"><input type="submit" name="enviar"
value="3"></td><td>2010-11-26</td><td>MIRIAM SALINAS MARIN</td></tr>
<tr><td><form name="edicion4" action="edito_factura.php" method="post" target="_self">
<input type="hidden" name="numero_f" value="3501"><input type="submit" name="enviar"
value="3501"></td><td>2010-11-26</td><td>MIRIAM SALINAS MARIN</td></tr>
<tr><td><form name="edicion5" action="edito_factura.php" method="post" target="_self">
<input type="hidden" name="numero_f" value="4"><input type="submit" name="enviar"
value="4"></td><td>2010-11-27</td><td>MIFOOD S.A.</td></tr>
<tr><td><form name="edicion6" action="edito_factura.php" method="post" target="_self">
<input type="hidden" name="numero_f" value="3503"><input type="submit" name="enviar"
value="3503"></td><td>2010-11-27</td><td>EVELIO VIV&Oacute; PEINADO</td></tr>
La página php hace un select de la bd y muestra los datos creando una formulario para cada fila de datos, de manera que cuando pulsamos el "submit" enviamos a la pagina "edito_factura.php" el dato "numero_f" con el valor de la factura que queremos editar. Esto en teoría, por que lo que me pasa es que a la página "edito_factura.php" llega la variable "numero_f" pero el valor de esta es el valor de la última factura, en el caso del ejemplo "3503" pulsemos el boton que pulsemos.
Cómo puedo evitar que se envie el último número asignadoa "numero_f"
Gracias.
  #2 (permalink)  
Antiguo 13/03/2011, 08:15
 
Fecha de Ingreso: octubre-2009
Mensajes: 223
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Problema con formulario escrito con php

No se si lo he entendido del todo bien, según dices tras consultar la BD se genera cada línea y luego editas la que tu quieras

Deberías hacer un botón para cada una.

Además te coge siempre el mismo valor porque en el value del botón submit tienes puesto ese valor, si quieres valor distinto para cada linea debes de crear un botón submit para cada registro de BD
  #3 (permalink)  
Antiguo 13/03/2011, 11:35
 
Fecha de Ingreso: septiembre-2008
Ubicación: Manises,Valencia
Mensajes: 114
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: Problema con formulario escrito con php

Hola gspablo,
gracias por contestar tan rápido. En realidad sí se genera un botón submit para cada linea y sí, es después de acceder a la Bd. La verdad es que ya he resuelto el problema. En vez de cojer el valor numero_f (ya que siempre llega a la pagina destino(action) el último número) escojo el valor "enviar" y esta vez me llega el valor del formulario del que pulso el Submit.

Gracias de nuevo.

PD: no hay nada como explicar algo para entender cómo solucionarlo.
  #4 (permalink)  
Antiguo 13/03/2011, 12:08
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Problema con formulario escrito con php

Hola,

Cita:
Iniciado por fontanares Ver Mensaje
... La verdad es que ya he resuelto el problema. En vez de cojer el valor numero_f (ya que siempre llega a la pagina destino(action) el último número) escojo el valor "enviar" y esta vez me llega el valor del formulario del que pulso el Submit. ...
Igual el problema es que no cierras la etiqueta FORM, el comportamiento va a ser impredecible en cualquier caso. Supongo que puedes tomar el valor del Submit, porque el browser que estás usando maneja el código HTML del FORM relativamente decentemente (debió haber hecho lo mismo con el numero_f).

Saludos,

ps:

Al parecer un FORM si puede contener otro FORM, pero si los campos contienen el mismo nombre va a dar problemas, como que recibas solamente el último definido o algo parecido.

Última edición por HackmanC; 13/03/2011 a las 12:23 Razón: ps
  #5 (permalink)  
Antiguo 14/03/2011, 12:19
 
Fecha de Ingreso: septiembre-2008
Ubicación: Manises,Valencia
Mensajes: 114
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: Problema con formulario escrito con php

Hola HackmanC, pero sí cierro el formulario, lo que pasa es que sólo copié parte del codigo.

cuando tenga algo de tiempo me dedicaré a averigüar el por qué de ese problema pero por el momento lo tengo resuelto.

Gracias.
  #6 (permalink)  
Antiguo 14/03/2011, 20:28
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Desacuerdo Respuesta: Problema con formulario escrito con php

Hola,

Cita:
Iniciado por fontanares Ver Mensaje
Hola HackmanC, pero sí cierro el formulario, lo que pasa es que sólo copié parte del codigo. ...
Todos ... allí hay muchos formularios.

... <tr><td>FACTURA</td><td>FECHA</td><td>CLIENTE</td></tr>
<tr><td><form name="edicion1" action="edito_factura.php" method="post" target="_self">
<input type="hidden" name="numero_f" value="1"><input type="submit" name="enviar"
value="1"></form></td><td>2010-11-21</td><td>MIRIAM SALINAS MARIN</td></tr>
<tr><td><form name="edicion2" action="edito_factura.php" method="post" target="_self">
<input type="hidden" name="numero_f" value="3502"><input type="submit" name="enviar"
value="3502"></form></td> ...

De verdad que no hay forma de explicar algunas cosas cuando no se quiere poner atención,

Saludos,
  #7 (permalink)  
Antiguo 14/03/2011, 21:10
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Problema con formulario escrito con php

Hola,

Posiblemente así está mas claro:

Código PHP:
<body>
<?php
if (isset($_GET['numero_f'])) {
    echo 
"Numero : {$_GET['numero_f']}<br>";
    echo 
"Enviar : {$_GET['Enviar']}";
}
?>
<form method="GET" action="">
    <input name="numero_f" type="hidden" value="1" />
    <input name="Enviar" type="submit" value="1" />
    <form method="GET" action="">
        <input name="numero_f" type="hidden" value="2" />
        <input name="Enviar" type="submit" value="2" />
        <form method="GET" action="">
            <input name="numero_f" type="hidden" value="3" />
            <input name="Enviar" type="submit" value="3" />
        </form>
    <!--</form>-->
<!--</form>-->
</body>
Intenta ejecutar ese código, y observa que obtienes en numero_f y Enviar al presionar cada botón.

Saludos,

Etiquetas: escrito, 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 14:31.