Foros del Web » Programando para Internet » PHP »

Grabar base de datos despues de ejecutar CGI

Estas en el tema de Grabar base de datos despues de ejecutar CGI en el foro de PHP en Foros del Web. Hola a todos. Tengo un formulario que envia un correo por medio de un CGI. en el form tengo: <form name="altas" method="post" action="/cgi-bin/formulario.cgi" > <input ...
  #1 (permalink)  
Antiguo 26/11/2004, 10:59
 
Fecha de Ingreso: junio-2004
Mensajes: 36
Antigüedad: 19 años, 9 meses
Puntos: 0
Grabar base de datos despues de ejecutar CGI

Hola a todos.
Tengo un formulario que envia un correo por medio de un CGI. en el form tengo:
<form name="altas" method="post" action="/cgi-bin/formulario.cgi" >
<input type="hidden" name="receptor" value="<? echo _CORR1; ?>">
<input type="hidden" name="asunto" value="<? echo _PET; ?>">
<input type="hidden" name="salida" value="<? echo _ORIGEN; ?><? echo _SALIDA; ?>">
dentro del form estan las capturas de los diferentes campos.

....
...
<td width="50%" align="center">
<input type="submit" name="enviar" value="<? echo _CT_12;?>" class="noticias" > </td>
</form>

Una vez enviado el form, quiero grabar la una base de datos con alguno de los campos del mismo, para lo que tengo una función
function Graba_emails($nombre,$correo,$bloqueo)
{
...
}

Ahora el problema es: ¿Como puedo hacer para que se acceda a la función una vez enviado el formulario, o antes de enviar ?

¿Alguien me puede echar una mano?

saludos y gracias
  #2 (permalink)  
Antiguo 26/11/2004, 11:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero .. donde interviene ahí "PHP"?

Despues de la ejecución de ese CGI .. por algún sitio ese CGI redirecciona hacia un script PHP tuyo? ..

Si ya usas PHP para gestionar tu BD .. por qué no lo usas para enviar el e-mail también? ...

Un saludo,
  #3 (permalink)  
Antiguo 26/11/2004, 11:39
 
Fecha de Ingreso: junio-2004
Mensajes: 36
Antigüedad: 19 años, 9 meses
Puntos: 0
Hola Cluster, gracias por responder.

Al CGI no tengo acceso, esta en el servidor de la página, lo que quisiera hacer es que desde mi formulario, por medio de un onSubmit, o onClick, pasase las variables a la funcion, antes o despues de acceder al CGI, para poder grabar en la base de datos, pero no se como hacerlo.

Saludos
  #4 (permalink)  
Antiguo 26/11/2004, 11:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero .. vamos a ver .. USAS o no usas PHP (o dispones de esa posibilidad)?

Si no tienes acceso a tu CGI .. entonces tendrás que pasar por un script PHP que hará:

1) tomar tus variabels de tu formulario (ahora no irán a tu CGI sino a tu script.php de pre-proceso)
2) Hacer el proceso de registro de tus datos en tu BD ..
3) redireccionar hacia el formulario con todas las variables que este necesite. Puedes probar por GET .. pero si descrimina el método de envio tendrías que usar sockets para hacer la conexión a tu script CGI y pasarle las variabels que necesites.

Ahora . .la pregunta (insisto) .. por qué no puedes usar PHP para enviar el e-mail también? ..

Un saludo,
  #5 (permalink)  
Antiguo 26/11/2004, 12:24
 
Fecha de Ingreso: junio-2004
Mensajes: 36
Antigüedad: 19 años, 9 meses
Puntos: 0
Gracias por tu paciencia Cluster
Si, estoy usando PHP, lo que ocurre es que, este escrip( el promulario.cgi), es un escript prefabricado que esta en el servidor de la página, y hasta ahora no me habia proporcionado ningún problema.
Ahora que quiero que ademas de realizar la funcion de envio mi formulario, tambien grabe en la base de datos es cuando me he encontrado con la dificultad.
Voy a probar lo que me indicas.
En cuanto a enviar el correo por medio de PHP, no lo he echo hasta el momento, porque no me hacia falta. Tendre que plantearme el realizar el envio de correos con el Mailer, no lo conozco, pero aprenderé.

Saludos y de nuevo gracias.

J. Sendra
  #6 (permalink)  
Antiguo 26/11/2004, 13:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Puedes probar a usar la función mail() de PHP . .es bien simple de hacer y además así podrás personalizar el e-mail que generas .. cosa que con el CGI pre-instalado que usas no tienes control sobre el formato (son genéricos).

Así simplemente haces:

Código PHP:
<?
// proceso registro de tus datos en tu BD

// envio del e-mail´
mail(....)
?>
Todo en un mismo script de proceso y sin complicaciones. No tiene mucho sentido en tu caso ponerse con el tema de "redireccionamientos" y sockets para hacer una cosa que ya puedes hacer ahí mismo. Piensatelo. (ejemplos de uso de la función mail() de PHP tienes en todo el foro PHP y en las FAQ's de este foro PHP)

Un saludo,
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 10:18.