Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bem, eu tenho um form e preciso enviar os dados que o usuário preencher para um e-mail.
O problema é que eu tenho uma função que envia o e-mail, tenho esse formulário em 3 páginas diferentes do site então não dá pra fazer o header(location:page) porque assim eu teria que fazer um arquivo diferente para cada página. O que eu queria fazer e não achei como, é se tem como passar os valores do form por parâmetros de uma função sem precisar ir para outra página para executar a função. Pode ser com javaScript se der.
1 - Colocar a action dos formulários todas apontando para o mesmo lugar (se os formulários forem iguais). Aí você monta apenas uma rotina de envio.
Sim, no momento eles estão, mas não quero que vá para outra página, se for pra fazer a validação em outra página depois ele tem que voltar para a página anterior e esse é um dos problemas já que são páginas diferentes entaõ não sei como faria um header(location:) que voltasse para a pagina anterior.
2 - Fazer o envio das informações por JavaScript/AJAX. Aí você não precisa recarregar a página.
Só sei fazer o envio com phpmailer, não acho um tutorial bom de como fazer isso com javascript
Mas o javascript não envia e-mail.
Você fará a submissão do formulário pro AJAX para o PHP. Lá ele trata e envia os dados.
Tem posts aqui no fórum que ensinam a fazer isso, por exemplo: http://forum.imasters.com.br/topic/481668-resolvidocomo-dar-submit-em-formulario-com-ajax-sem-refresh/
Não sei se entendi direito o seu objetivo.
Mas, se entendi bem, você pode fazer isso de duas maneiras:
1 - Colocar a action dos formulários todas apontando para o mesmo lugar (se os formulários forem iguais). Aí você monta apenas uma rotina de envio.
2 - Fazer o envio das informações por JavaScript/AJAX. Aí você não precisa recarregar a página.
Tenta explicar um pouco melhor a sua situação. Talvez dê pra ajudar mais.