Foros del Web » Programando para Internet » PHP »

Ejecutar instrucción PHP cuando envían el form

Estas en el tema de Ejecutar instrucción PHP cuando envían el form en el foro de PHP en Foros del Web. Que tal Maestros, Tengo un formulario con lo típico así: Código PHP: < form action = "actions/crear.php"  method = "post"  name = "form1" >  La página ...
  #1 (permalink)  
Antiguo 21/12/2005, 16:46
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 22 años, 4 meses
Puntos: 4
Ejecutar instrucción PHP cuando envían el form

Que tal Maestros,

Tengo un formulario con lo típico así:

Código PHP:
<form action="actions/crear.php" method="post" name="form1"
La página que contiene esto es formulario.php

Lo que quiero hacer es que en el momento en que oprimen el botón de submit ejecutar una instrucción especial php en la página formulario.php

Se puede?

Gracias
__________________
EL LIMITE ES EL UNIVERSO
  #2 (permalink)  
Antiguo 21/12/2005, 17:01
 
Fecha de Ingreso: octubre-2004
Mensajes: 751
Antigüedad: 19 años, 6 meses
Puntos: 4
Pues en principio no. Digo en principio porque puedes usar Ajax, si no lo usas puedes hacer dos cosas:

- ejecutar instrucciones javascript.
- enviar al usuario a otra página "actions/crear.php", y allí antes de enviar la salida ejecutar todo el PHP que quieras.

Saludos,
__________________
sergiold
  #3 (permalink)  
Antiguo 21/12/2005, 17:16
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 22 años, 4 meses
Puntos: 4
Que tal,

Gracias por contestar, Me interesa la segunda opción aunque no la comprendo muy bien...
__________________
EL LIMITE ES EL UNIVERSO
  #4 (permalink)  
Antiguo 21/12/2005, 17:52
 
Fecha de Ingreso: octubre-2004
Mensajes: 751
Antigüedad: 19 años, 6 meses
Puntos: 4
Bueno, si mal no he entendido, tu dices que cuando el usuario aprete en el botón de enviar se ejecuten unas instrucciones en PHP.

Lo que yo digo es que en actions/crear.php (dónde se envia el formulario) pongas todas estas instrucciones PHP entonces automáticamente se generarán. Recuerda que lo más normal es que recibas las variables del formulario mediante post:

$_POST['nombre_del_campo'];

Si luewgo quieres que vuelva a la página del formulario solo tienes que poner:

header("Location: http://www.loqsea.com/form.htm");

Si usas la función header() recuerda que no se puede enviar código HTML o ningún otro tipo de salida al navegador antes. Sino te dará error. Por tanto esto te dará error:

<html>
<?
header(...);
?>

Y esto otro también:

Linea 1.
Linea 2. <?
Linea 3. header(...);
Linea 4. ?>

Espero que me me comprendas .

Saludos,
__________________
sergiold
  #5 (permalink)  
Antiguo 21/12/2005, 19:06
Avatar de kalolo  
Fecha de Ingreso: abril-2005
Mensajes: 65
Antigüedad: 19 años
Puntos: 0
Cita:
Iniciado por jpogsistem
Que tal Maestros,

Tengo un formulario con lo típico así:

Código PHP:
<form action="actions/crear.php" method="post" name="form1"
La página que contiene esto es formulario.php

Lo que quiero hacer es que en el momento en que oprimen el botón de submit ejecutar una instrucción especial php en la página formulario.php

Se puede?

Gracias

mmm ,, no se si te entendi bien pero a ver
si la funcion esta ahi mismo en formulario.php y la forma tambien..

muy sencillo
Código PHP:
if(isset($_POST['Submit'])) //Nombre del Boton
{
  
// Tu codigo

el codigo lo puedes poner antes o despues de la form no importa, porque a fin de cuenta toma accion ya al recargarse la pagina, donde ya le boton submit existira.

nota.. si es asi que tu tienes tu codigo y forma en formulario.php cambia al action a la misma pagina.
  #6 (permalink)  
Antiguo 22/12/2005, 08:26
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 22 años, 4 meses
Puntos: 4
Muchas Gracias de verdad.......

Estaba hecho un lío porque esto lo había hecho otra persona, pero ya lo he solucionado adicionando un campo oculto en formulario.php que envíe la variable a crear.php

Saludos.
__________________
EL LIMITE ES EL UNIVERSO
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 09:34.