Foros del Web » Programando para Internet » PHP »

Varios ACTIONS en un solo formulario...

Estas en el tema de Varios ACTIONS en un solo formulario... en el foro de PHP en Foros del Web. Hola gente. Tengo un verdadero problema (bueno, no es que si no lo resuelvo aumentaria drasticamente el calentamiento global, pero para mi es complicado). Tengo ...
  #1 (permalink)  
Antiguo 09/12/2004, 00:00
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 11 meses
Puntos: 2
Varios ACTIONS en un solo formulario...

Hola gente.

Tengo un verdadero problema (bueno, no es que si no lo resuelvo aumentaria drasticamente el calentamiento global, pero para mi es complicado).

Tengo un formulario en donde mis usuarios se registran, en el tengo un checkboxe con la opcion de "suscribirse al newsletter" o no.

El formulario funciona a las mil maravillas, el problema es que en estos momentos cada vez que se registra un usuario tengo que, manualmente, tomar su e-mail y suscribirlo a la lista de correo que utilizo para el newsletter (una lista MAILMAN que tengo en el hosting).

Quisiera saber como hacer para que al cliquear "registrarme!" en mi formulario procese los datos que yo necesito para el registro, y a la vez, procese los datos para la suscripcion en la lista.

La lista tiene dos campos, nombre y email, que serían los mismos que utilizo para el registro, el tema viene en el ACTION, como hago para ejecutar dos actions en un mismo formularo?

Es posible enviar las variables por GET y simular que las envie por POST? (en ese caso podría usar un Header() con las variables)...

Si alguien trabajo alguna vez con las listas MAILMAN y sabe como hacerlo...
__________________
I Love Programming...
  #2 (permalink)  
Antiguo 09/12/2004, 07:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No se trata de ejecutar "dos action" en el mismo formulario .. sino en lanzar las ejecuciones de tus "scripts" ya sea el tuyo PHP .. o el otro en Perl o lo que sea en cadena .. es decir, secuencialmente.

De tu formulario HTML . .recolectas los datos que necesites para tu aplicacion y los que la otra aplicación necesite.

En tu script.php de proceso .. al terminar tu proceso normal .. conectas con tu "mailman" .. Ahora .. no sé que eso de "mailman" ni como lo gestionas tendrías que explicar como "creas" tu un e-mail para esa lista de correo .. Tienes que indicar tambien si para ejecutar ese script requiere autentificación (y de que tipo .. HTTP?, otra?) .. o incluso si lo ejecutas por "linea de comandos" (es un CGI? .. )

A un script "CGI" (hasta PHP trabaja por CGI, es un standard de comunicación .. aunque a los script en "Perl" se les conozca mucho como "CGI" .. por ejemplo) puedes conectarte a el para enviarle "datos" por HTTP, ya sea con un simple redireccionamiento tipo (desde PHP):

header ("Location: http://www.tal.nose/nose.cgi?mail=$mail");

o algo más complicado por Sockets directo si es que el "nose.cgi" por ejemplo sólo aceptase sus variables por el método "POST" (ese "location" con el URL ahí genera datos en GET).


Un saludo,
  #3 (permalink)  
Antiguo 09/12/2004, 09:01
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 21 años, 11 meses
Puntos: 0
yo lo hiice de la siguiente manera:
1. Primero si el usuario decide registrarse tambien al boletin, el script.php que procesa estos datos tiene una condicional, donde si esta seleccionado hace un insert en mi tabla de boletines, ademas de registrar a mi usuario en su respectiva tabla.

2. por otro lado si no desea suscribirse al boletin, sencillamente, la condicional no inserta nada en mi tabla boletines, y solo graba en la tabla usuarios.

Y si quieres complicar un poco mas la cosa, puedes agregarle un autoresponder de confirmacion de suscripcipcion para cada cosa: usuario y boletines; usando la misma condicional

... y todo esto con un solo submit. Aquí el ejemplo en mi web:
http://www.imagentop.com/?mod=regist...0de%20Usuarios
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com
  #4 (permalink)  
Antiguo 09/12/2004, 12:52
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 11 meses
Puntos: 2
Claro, el tema es que vos no estas usando listas de correo (por lo menos no estas usando MAILMAN), ya que ellas no trabajan con DB, realmente no se donde guardan los datos, pero no es en base de datos seguro, si fuece así estaria saltando en una pata; si la guarda en un fichero de texto (.txt por ejemplo) tampoco lo se, ya que no encuentro la ubicación de los archivos en mi sitio, quizas este alojado en otro servidor...

Tendré que seguir buscando...
__________________
I Love Programming...
  #5 (permalink)  
Antiguo 09/12/2004, 13:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero .. FuLaNo .. tu como creas un "e-mail" en ese "MAILMAN" .. que página ejecutas o que comando usas?

Por qué ya te he comentado que se trataría en tu caso de "pasarle" las variables que requiera desde tu script PHP que tomará en primera instancia tus variables del formulario HTML . .ha este otro script ¿? de tu "mailman" para que sea ese el que haga su trabajo final.

Un saludo,
  #6 (permalink)  
Antiguo 09/12/2004, 15:59
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 11 meses
Puntos: 2
Cluster, perdon, no habia visto tu primer mensaje.

Bueno, luego de buscar bastante los archivos de la lista me di cuenta que si se podia hacer en un simple GET, por lo que use un Header como vos decias (en realiad, use un META refresh ya que tengo bastante codigo html antes de esta linea y el header no iba a funcionar) y funciona bien, luego busque el archivo en donde la lista te dice "gracias...." y le hice otro refresh hacia el archivo de login de mi pagina y listo, esta igual que antes, solo que ahora al usuario le llegan dos mails, uno del registro y otro para confirmar el alta de la lista, que luego vere si en las opciones se puede evitar.

Saludos y mil gracias.
__________________
I Love Programming...
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 05:54.