Foros del Web » Programando para Internet » PHP »

PHP submit y

Estas en el tema de PHP submit y en el foro de PHP en Foros del Web. Os cuento: Tengo un formulario en html, de ingreso de datos de productos. Pero estoy teniendo problemas con 2 botones. El boton agregar, agrega un ...
  #1 (permalink)  
Antiguo 12/10/2013, 09:01
SixOfOnes
Invitado
 
Mensajes: n/a
Puntos:
PHP submit y

Os cuento:

Tengo un formulario en html, de ingreso de datos de productos. Pero estoy teniendo problemas con 2 botones.
El boton agregar, agrega un producto a una tabla dinámica en el mismo formulario html, pero el proceso lo realiza un archivo independiente tabladinamica.php.

El boton registrar, hará que todas las filas de la tabla dinámica, es decir, los productos, se ingresen a la base de datos, este proceso lo hará otro archivo independiente ingresarentradas.php .

Ejemplo de código de los botones:

<div id = "div_btnAgregar">
<input name="" type="button" id="Guardar" value="Agregar" onclick="submit()"/>
</div>

<div id = "div_btnRegistrar">
<input name="" type="button" id="Guardar" value="Registrar" onclick="submit()"/>
</div>

función submit en js:

<script type="text/javascript">
function submit ()
{document.forms["form1"].submit();}
</script>

El problema es que cuando hago clic en el boton agregar, me manda un error ya que al parecer como que se ejecutarán ambos archivos .php con el submit, imagino que es por la función.
No sé cómo hacer para que se distinga cuál botón fué clickeado y que mande a llamar solo a un archivo .php.

¿Me ayudaís?

P.D. En cada uno de los archivos .php pregunto cuál fué clickeado, pero al parecer no distingue, este es un ejemplo del inicio de uno:

<?php
session_start();


if($_POST['accion']=="") {
$_SESSION['contador']=0;
}

if($_POST['accion']=="Agregar") {

$ip=trim($_POST['idproducto']);
...

y para esto en el .html:


<input type="hidden" value="Guardar" name="accion">
<input type="hidden" value="Confirmar" name="accion2">

Os agradezco de antemano.

Última edición por SixOfOnes; 12/10/2013 a las 09:12
  #2 (permalink)  
Antiguo 12/10/2013, 09:19
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: PHP submit y

Hola, lo que tu recibes en php es el atributo name del elemento del formulario y su valor.

Debes colocarle un nombre.

<input name="" type="button" id="Guardar" value="Registrar" onclick="submit()"/>

En php recibes.

$a=$_POST['el_atributo_nombre'];


Saludos
  #3 (permalink)  
Antiguo 12/10/2013, 10:12
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: PHP submit y

Hola:

Para que se envíe el valor del botón deben ser sí o sí del tipo submit, y por supuesto tener un nombre para que php sepa discriminarlos.

No entiendo porqué dependes de javascript...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 12/10/2013, 10:49
SixOfOnes
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: PHP submit y

Ya lo probé de esa forma que mencionaís, poniendole un name pero al hacer clic en agregar no pasa nada, no se agrega la fila a la tabla dinámica
  #5 (permalink)  
Antiguo 12/10/2013, 10:51
SixOfOnes
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: PHP submit y

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Para que se envíe el valor del botón deben ser sí o sí del tipo submit, y por supuesto tener un nombre para que php sepa discriminarlos.

No entiendo porqué dependes de javascript...

Saludos
Gracias, pero dependo de eso ya que el botón tiene un estilo, referido en un .css y necesito que coja ese estilo, por eso es del tipo button y no de tipo submit, viendome obligado a utilizar javascript.
  #6 (permalink)  
Antiguo 12/10/2013, 10:53
SixOfOnes
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: PHP submit y

Cita:
Iniciado por SixOfOnes Ver Mensaje
Gracias, pero dependo de eso ya que el botón tiene un estilo, referido en un .css y necesito que coja ese estilo, por eso es del tipo button y no de tipo submit, viendome obligado a utilizar javascript.
Ah y muy amable en responder
  #7 (permalink)  
Antiguo 12/10/2013, 10:59
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: PHP submit y

y si te desactivan el javascript?? además me queda una duda, porque el tipo de input te cambia el estilo??
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #8 (permalink)  
Antiguo 12/10/2013, 12:28
SixOfOnes
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: PHP submit y

No lo sé, mis disculpas pues soy un novato en todo esto y estoy aprendiendo.

El código del botón en html es este:

</div> <!-- div_datosOrdenes -->

<div id = "div_botones">
<div id = "div_btnLimpiar">

<input name="" type="button" id="" onclick="formReset()" value="Limpiar" />
</div>
<div id = "div_btnGuardar">
<input name="agregar" type="button" id="Agregar" value="Agregar onclick="submit()"/>
</div>
</div> <!-- div_botones -->

Y estas son las clases en el .css


#div_btnAgregar{
/* width: 50%;*/
margin: 0 auto;
display: inline-block;
text-align: center;
margin: 20px 0 0 40px;
}


#div_btnRegistrar{
/* width: 50%;*/
margin: 0 auto;
display: inline-block;
text-align: center;
margin: 20px 0 30px 40px;
}
  #9 (permalink)  
Antiguo 12/10/2013, 14:36
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: PHP submit y

sigue siendo simple diseño, si lo cambias a submit no debería de cambiarte nada
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #10 (permalink)  
Antiguo 12/10/2013, 17:26
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: PHP submit y

Hola:

Cita:
Iniciado por carlos_belisario Ver Mensaje
sigue siendo simple diseño, si lo cambias a submit no debería de cambiarte nada
Además de la innecesaria dependencia de javascript, ya que para discriminar el botón (acuérdate del "sí o sí" que puse en el anterior mensaje) deberías crear un control dinámicamente o asignar el valor discriminante en algún control oculto...

Creo que antes de seguir dando largas en tus respuestas debería probar lo que te hemos aconsejado...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #11 (permalink)  
Antiguo 12/10/2013, 17:44
SixOfOnes
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: PHP submit y

Ya arreglé lo del submit, pero ahora al dar click en el boton Registrar, no hace nada :(.

Muchas gracias por sus respuestas.
  #12 (permalink)  
Antiguo 12/10/2013, 18:03
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: PHP submit y

Hola:

Cita:
Iniciado por SixOfOnes Ver Mensaje
Ya arreglé lo del submit, pero ahora al dar click en el boton Registrar, no hace nada :(.

Muchas gracias por sus respuestas.
Si es de tipo submit , tendrías que programarlo en php...

Los botones del tipo submit, envían datos solo los que son pulsados (uno a la vez), así que lo normal es poner el mismo atributo name con distintos atributos value... por ejemplo con el nombre enviar, y los valores "borrar" y "registrar"... con php deberías tener un código así:

if ($_POST["enviar"] == "borrar ")
$sql = "delete...";
elseif ($_POST["enviar"] == "registrar ")
// acciones del botón registrar...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: formulario, html, submit, tabla
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 13:58.