Jump to content

Archived

This topic is now archived and is closed to further replies.

NaNDa.Net

- ASP (Formulário de E-mail)

Recommended Posts

Olá Pessoal! Tudo certo?

 

Criei o formulário de reservas onde tem javascript para aparecer as telas de atenção, e asp para enviar o e-mail. A minha dúvida é: criei o checkbox onde o internauta é obrigado a marcar a opção antes de enviar o e-mail. Será que fiz algo errado? Sou novata deste ramo de programação e me ajudem com urgência. Para entender melhor, segue o site Formulário de Reserva. Deu o erro a seguir:

 

Microsoft JET Database Engineerror '80040e14'

 

The INSERT INTO statement contains the following unknown field name: 'termo'. Make sure you have typed the name correctly, and try the operation again. /reservas_resp.asp, line 56

Os códigos a seguir são:

 

RESERVAS.ASP (JavaScript)

 

<script language=JavaScript>
<!--
function submit_onclick(theForm){
 errMsg="";
 valida=true;
 errMsg="";
 valida=true;
	 if (theForm.nome.value==""){
  errMsg=" Por favor preeencha o campo NOME ";
  valida = false;
  }   
	 if (theForm.email.value==""){
  errMsg=" Por favor preeencha o campo E-MAIL ";
  valida = false;
  }
  if (theForm.telefone.value==""){
  errMsg=" Por favor preeencha o campo TELEFONE ";
  valida = false; 
  }  
	 if (theForm.cheg_dia.value==""){
  errMsg=" Por favor preeencha o campo CHEGADA (DIA) ";
  valida = false;
  }
  if (theForm.cheg_mes.value==""){
  errMsg=" Por favor preeencha o campo CHEGADA (MÊS) ";
  valida = false;
  } 
  if (theForm.cheg_ano.value==""){
  errMsg=" Por favor preeencha o campo CHEGADA (ANO) ";
  valida = false;
  } 
  if (theForm.part_dia.value==""){
  errMsg=" Por favor preeencha o campo PARTIDA (DIA) ";
  valida = false;
  }
  if (theForm.part_mes.value==""){
  errMsg=" Por favor preeencha o campo PARTIDA (MÊS) ";
  valida = false;
  } 
  if (theForm.part_ano.value==""){
  errMsg=" Por favor preeencha o campo PARTIDA (ANO) ";
  valida = false;
  } 
	 if (theForm.categoria.value==""){
  errMsg=" Por favor selecione uma das categorias de SUÍTE ";
  valida = false;
  } 
	 if (theForm.criancas_04anos.value==""){
  errMsg=" Por favor preeencha a quantidade de crianças ACIMA DE 04 ANOS ";
  valida = false;
  } 
	 if (theForm.criancas_12anos.value==""){
  errMsg=" Por favor preeencha a quantidade de crianças ACIMA DE 12 ANOS ";
  valida = false; 
  } 
  
[b] if (document.getElementById("termo").checked == "false")
 {
 alert("Leia e aceite os termos de reserva e hospedagem.");
 }[/b]

 if (valida){
  theForm.target = "_self";
  theForm.action = "reservas_resp.asp";
  theForm.submit();
  return true;
 }else{
  alert(errMsg);
  
  }
 }
 
function limpa(form) 
{
 form.reset()
}  
// stop hiding -->

RESERVAS_RESP.ASP (ASP)

 

<!--#include file="conn.asp"-->

<%
 nome = Request("nome")
 email = Request("email")
 endereco = Request("endereco")
 cidade = Request("cidade")
 uf = Request("uf")
 cep = Request("cep")
 pais = Request("pais")
 telefone = Request("telefone")
 fax = Request("fax")
 cheg_dia = Request("cheg_dia")
 cheg_mes = Request("cheg_mes")
 cheg_ano = Request("cheg_ano")
 part_dia = Request("part_dia")
 part_mes = Request("part_mes")
 part_ano = Request("part_ano")
 categoria = Request("categoria")
 criancas_04anos = Request("criancas_04anos")
 criancas_12anos = Request("criancas_12anos")
 mensagem = Request("mensagem")
 termo= Request("termo")
 
 partida = part_dia & "/" & part_mes & "/" & part_ano
 chegada = cheg_dia & "/" & cheg_mes & "/" & cheg_ano
 
 strMail = "Nome: "&nome&"<br>"
 strMail = strMail & "E-mail: "&email&"<br>"
 strMail = strMail & "Endereco: "&endereco&"<br>"
 strMail = strMail & "Cidade: "&cidade&"<br>"
 strMail = strMail & "UF: "&UF&"<br>" 
 strMail = strMail & "Cep: "&cep&"<br>"
 strMail = strMail & "Pais: "&pais&"<br>"
 strMail = strMail & "Telefone: "&telefone&"<br>"
 strMail = strMail & "Fax: "&fax&"<br>" 
 strMail = strMail & "Chegada: "&Chegada&"<br>"
 strMail = strMail & "Ida: "&partida&"<br>"
 strMail = strMail & "Categoria de Suíte: "&categoria&"<br>"
 strMail = strMail & "Acima de 04 anos: "&criancas_04anos&"<br>"
 strMail = strMail & "Acima de 12 anos: "&criancas_12anos&"<br>"
 strMail = strMail & "Outras informações: "&mensagem&"<br>"
 strMail = strMail & "Li e aceito os termos de reserva e hospedagem."&termo&"<br>" 
 
 session("nome") = nome
 
 Set Mail = Server.CreateObject ("CDONTS.NewMail")
 Mail.From = email
 Mail.To = "[email="reservas@caminhodosol.com.br"]reservas@caminhodosol.com.br[/email]"
 Mail.Subject = "Central de Reservas - Caminho do Sol"
 Mail.Body = strMail
 Mail.BodyFormat = 0
 Mail.MailFormat = 0
 Mail.Send

 conexao.execute("INSERT INTO reservas ( nome, email, endereco, cidade, uf, cep, pais, telefone, fax, chegada , partida, categoria,  criancas_04anos, criancas_12anos, mensagem, termo  ) VALUES ('"& nome &"', '"& email &"' , '"& endereco &"', '"& cidade &"', '"& uf &"', '"& cep &"', '"& pais &"',  '"& telefone &"', '"& fax &"' , '"& chegada &"' , '"& partida &"', '"& categoria &"' , "& criancas_04anos &", "& criancas_12anos &", '"& mensagem &"', '"& termo &"')")


%>

Share this post


Link to post
Share on other sites

if (document.getElementById("termo").checked == false)
{
alert("Leia e aceite os termos de reserva e hospedagem.");

 

Tire as aspas da palavra false...

 

Qual o tipo de campo que está no bd para o campo termo ?

 

EDIT: A mensagem de erro diz que nao existe um campo com o nome "termo"

 

statement contains the following unknown field name: 'termo'.

A sequencia contem o seguinte nome de campo desconhecido: 'termo'.

 

você tem esse campo criado no seu BD ?

Share this post


Link to post
Share on other sites

if (document.getElementById("termo").checked == false)
{
alert("Leia e aceite os termos de reserva e hospedagem.");

 

Tire as aspas da palavra false...

 

Qual o tipo de campo que está no bd para o campo termo ?

 

EDIT: A mensagem de erro diz que nao existe um campo com o nome "termo"

 

statement contains the following unknown field name: 'termo'.

A sequencia contem o seguinte nome de campo desconhecido: 'termo'.

 

você tem esse campo criado no seu BD ?

 

Sim, criei o BD Access, onde tem tabela reservas, criei o campo termo e tipo de dados como SIM/NÃO. Corrigi o javascript mas ainda ocorreu o erro de ASP a seguir:

 

Microsoft JET Database Engineerror '80040e07'

Data type mismatch in criteria expression.

/reservas_resp.asp, line 53

<!--#include file="conn.asp"-->

<%
 nome = Request("nome")
 email = Request("email")
 endereco = Request("endereco")
 cidade = Request("cidade")
 uf = Request("uf")
 cep = Request("cep")
 pais = Request("pais")
 telefone = Request("telefone")
 fax = Request("fax")
 cheg_dia = Request("cheg_dia")
 cheg_mes = Request("cheg_mes")
 cheg_ano = Request("cheg_ano")
 part_dia = Request("part_dia")
 part_mes = Request("part_mes")
 part_ano = Request("part_ano")
 criancas_04anos = Request("criancas_04anos")
 criancas_12anos = Request("criancas_12anos")
 mensagem = Request("termo")
 
 partida = part_dia & "/" & part_mes & "/" & part_ano
 chegada = cheg_dia & "/" & cheg_mes & "/" & cheg_ano
 
 strMail = "Nome: "&nome&"<br>"
 strMail = strMail & "E-mail: "&email&"<br>"
 strMail = strMail & "Endereco: "&endereco&"<br>"
 strMail = strMail & "Cidade: "&cidade&"<br>"
 strMail = strMail & "UF: "&UF&"<br>" 
 strMail = strMail & "Cep: "&cep&"<br>"
 strMail = strMail & "Pais: "&pais&"<br>"
 strMail = strMail & "Telefone: "&telefone&"<br>"
 strMail = strMail & "Fax: "&fax&"<br>" 
 strMail = strMail & "Chegada: "&Chegada&"<br>"
 strMail = strMail & "Ida: "&partida&"<br>"
 strMail = strMail & "Acima de 04 anos: "&criancas_04anos&"<br>"
 strMail = strMail & "Acima de 12 anos: "&criancas_12anos&"<br>"
 strMail = strMail & "Outras informações: "&mensagem&"<br>"
 strMail = strMail & "Li e aceito os termos de reserva e hospedagem."&termo&"<br>" 
 
 session("nome") = nome
 
 Set Mail = Server.CreateObject ("CDONTS.NewMail")
 Mail.From = email
 Mail.To = "[email="reservas@caminhodosol.com.br"]reservas@caminhodosol.com.br[/email]"
 Mail.Subject = "Central de Reservas - Caminho do Sol"
 Mail.Body = strMail
 Mail.BodyFormat = 0
 Mail.MailFormat = 0
 Mail.Send

 conexao.execute("INSERT INTO reservas ( nome, email, endereco, cidade, uf, cep, pais, telefone, fax, chegada , partida, criancas_04anos, criancas_12anos, mensagem, termo  ) VALUES ('"& nome &"', '"& email &"' , '"& endereco &"', '"& cidade &"', '"& uf &"', '"& cep &"', '"& pais &"',  '"& telefone &"', '"& fax &"' , '"& chegada &"' , '"& partida &"', "& criancas_04anos &", "& criancas_12anos &", '"& mensagem &"', '"& termo &"')")


%>

Share this post


Link to post
Share on other sites

Seguinte, não vi você atribuir valor à variável termo, você atribuiu à variável mensagem o valor Request("termo") verifique o que está retornando na mensagem, no Access os valores para sim / não são, 0 - Não / -1 - Sim.

Share this post


Link to post
Share on other sites

Seguinte, não vi você atribuir valor à variável termo, você atribuiu à variável mensagem o valor Request("termo") verifique o que está retornando na mensagem, no Access os valores para sim / não são, 0 - Não / -1 - Sim.

Caro Anderson, tentei tudo e ainda dá pau. No BD ACESS, deixei o campo termo como tipo de TEXTO (troquei SIM/NÃO para TEXTO), mas o erro insiste na parte reservas_resp.asp.

 

Por favor, me ajudem, pois sou novata desta área.

 

Quando coloquei a linha de código JavaScript para exibir a alerta, insistindo o internauta marcar a opção:

 

Reservas.asp

 

if (document.getElementById("termo").checked == false)
 {
 alert("Leia e aceite os termos de reserva e hospedagem.");
 }

 if (valida){
  theForm.target = "_self";
  theForm.action = "reservas_resp.asp";
  theForm.submit();
  return true;
 }else{
  alert(errMsg);
  
  }
 }

Agora o que falta é corrigir na parte Reservas_resp.asp, onde se envia o formulário e também aparece a mensagem dizendo que foi enviado com sucesso, e também precisamos lembrar que, quando o usuário não marcar o checkbox "termo" e manda enviar, a pagina não pode ser recarregada nem os campos preenchidos desaparecerem.

 

 

 

Reservas_resp.asp

 

 

 

<!--#include file="conn.asp"-->

<%
 nome = Request("nome")
 email = Request("email")
 endereco = Request("endereco")
 cidade = Request("cidade")
 uf = Request("uf")
 cep = Request("cep")
 pais = Request("pais")
 telefone = Request("telefone")
 fax = Request("fax")
 cheg_dia = Request("cheg_dia")
 cheg_mes = Request("cheg_mes")
 cheg_ano = Request("cheg_ano")
 part_dia = Request("part_dia")
 part_mes = Request("part_mes")
 part_ano = Request("part_ano")
 criancas_04anos = Request("criancas_04anos")
 criancas_12anos = Request("criancas_12anos")
 termo = Request("termo")
 
 partida = part_dia & "/" & part_mes & "/" & part_ano
 chegada = cheg_dia & "/" & cheg_mes & "/" & cheg_ano
 
 strMail = "Nome: "&nome&"<br>"
 strMail = strMail & "E-mail: "&email&"<br>"
 strMail = strMail & "Endereco: "&endereco&"<br>"
 strMail = strMail & "Cidade: "&cidade&"<br>"
 strMail = strMail & "UF: "&UF&"<br>" 
 strMail = strMail & "Cep: "&cep&"<br>"
 strMail = strMail & "Pais: "&pais&"<br>"
 strMail = strMail & "Telefone: "&telefone&"<br>"
 strMail = strMail & "Fax: "&fax&"<br>" 
 strMail = strMail & "Chegada: "&Chegada&"<br>"
 strMail = strMail & "Ida: "&partida&"<br>"
 strMail = strMail & "Acima de 04 anos: "&criancas_04anos&"<br>"
 strMail = strMail & "Acima de 12 anos: "&criancas_12anos&"<br>"
 strMail = strMail & "Outras informações: "&mensagem&"<br>"
 strMail = strMail & "Li e aceito os termos de reserva e hospedagem."&termo&"<br>" 
 
 session("nome") = nome
 
 Set Mail = Server.CreateObject ("CDONTS.NewMail")
 Mail.From = email
 Mail.To = "[email="reservas@caminhodosol.com.br"]reservas@caminhodosol.com.br[/email], [email="contato@caminhodosol.com.br"]contato@caminhodosol.com.br[/email], [email="fernanda@snw.com.br"]fernanda@snw.com.br[/email]"
 Mail.Subject = "Central de Reservas - Caminho do Sol"
 Mail.Body = strMail
 Mail.BodyFormat = 0
 Mail.MailFormat = 0
 Mail.Send

 conexao.execute("INSERT INTO reservas ( nome, email, endereco, cidade, uf, cep, pais, telefone, fax, chegada , partida, criancas_04anos, criancas_12anos, mensagem, termo  ) VALUES ('"& nome &"', '"& email &"' , '"& endereco &"', '"& cidade &"', '"& uf &"', '"& cep &"', '"& pais &"',  '"& telefone &"', '"& fax &"' , '"& chegada &"' , '"& partida &"', "& criancas_04anos &", "& criancas_12anos &", '"& mensagem &"', "& termo &")")


%>

Me ajudem! Risos...

Share this post


Link to post
Share on other sites

depois de todas as mudanças qual o erro e onde ele ocorre?

Share this post


Link to post
Share on other sites

A página diz que o erro é desta linha

conexao.execute("INSERT INTO reservas ( nome, email, endereco, cidade, uf, cep, pais, telefone, fax, chegada , partida, criancas_04anos, criancas_12anos, mensagem, termo  ) VALUES ('"& nome &"', '"& email &"' , '"& endereco &"', '"& cidade &"', '"& uf &"', '"& cep &"', '"& pais &"',  '"& telefone &"', '"& fax &"' , '"& chegada &"' , '"& partida &"', "& criancas_04anos &", "& criancas_12anos &", '"& mensagem &"', "& termo &")")
.

 

Mas não compreendi esse erro...

Share this post


Link to post
Share on other sites

de um response.write nesta instrução e poste aqui

 

e diga qual o erro tambem pois nao adianta voce postar a linha e nao postar o erro

Share this post


Link to post
Share on other sites

de um response.write nesta instrução e poste aqui

 

e diga qual o erro tambem pois nao adianta voce postar a linha e nao postar o erro

Para visualizar o site e entender melhor: www.caminhodosol.com.br/reservas.asp

 

RESERVAS_RESP.ASP

 

<%


 nome = Request("nome")
 email = Request("email")
 endereco = Request("endereco")
 cidade = Request("cidade")
 uf = Request("uf")
 cep = Request("cep")
 pais = Request("pais")
 telefone = Request("telefone")
 fax = Request("fax")
 cheg_dia = Request("cheg_dia")
 cheg_mes = Request("cheg_mes")
 cheg_ano = Request("cheg_ano")
 part_dia = Request("part_dia")
 part_mes = Request("part_mes")
 part_ano = Request("part_ano")
 criancas_04anos = Request("criancas_04anos")
 criancas_12anos = Request("criancas_12anos")
 termo = Request("termo")
 mensagem = request("mensagem")
 categoria = request("categoria")
 
If termo = "" then

 Response.Write("<script>alert('Marque o campo (Li e aceito os termos de reserva acima descritos)');location='java script:history.back(-1)'</script>")

else


 
 partida = part_dia & "/" & part_mes & "/" & part_ano
 chegada = cheg_dia & "/" & cheg_mes & "/" & cheg_ano
 
 strMail = "Nome: "&nome&"<br>"
 strMail = strMail & "E-mail: "&email&"<br>"
 strMail = strMail & "Endereco: "&endereco&"<br>"
 strMail = strMail & "Cidade: "&cidade&"<br>"
 strMail = strMail & "UF: "&UF&"<br>" 
 strMail = strMail & "Cep: "&cep&"<br>"
 strMail = strMail & "Pais: "&pais&"<br>"
 strMail = strMail & "Telefone: "&telefone&"<br>"
 strMail = strMail & "Fax: "&fax&"<br>" 
 strMail = strMail & "Chegada: "&Chegada&"<br>"
 strMail = strMail & "Ida: "&partida&"<br>"
 strMail = strMail & "Categoria de Suite: "&categoria&" <br>"
 strMail = strMail & "Acima de 04 anos: "&criancas_04anos&"<br>"
 strMail = strMail & "Acima de 12 anos: "&criancas_12anos&"<br>"
 strMail = strMail & "Outras informações: "&mensagem&"<br>"
 strMail = strMail & "Li e aceito os termos de reserva e hospedagem."&termo&"<br>" 
 
 session("nome") = nome
 
 Set Mail = Server.CreateObject ("CDONTS.NewMail")
 Mail.From = email
 Mail.To = "[email="reservas@caminhodosol.com.br"]reservas@caminhodosol.com.br[/email], [email="contato@caminhodosol.com.br"]contato@caminhodosol.com.br[/email], [email="fernanda@snw.com.br"]fernanda@snw.com.br[/email]"
 Mail.Subject = "Central de Reservas - Caminho do Sol"
 Mail.Body = strMail
 Mail.BodyFormat = 0
 Mail.MailFormat = 0
 Mail.Send

 conexao.execute("INSERT INTO reservas ( nome, email, endereco, cidade, uf, cep, pais, telefone, fax, chegada , partida, criancas_04anos, criancas_12anos, mensagem, categoria  ) VALUES ('"& nome &"', '"& email &"' , '"& endereco &"', '"& cidade &"', '"& uf &"', '"& cep &"', '"& pais &"',  '"& telefone &"', '"& fax &"' , '"& chegada &"' , '"& partida &"', "& criancas_04anos &", "& criancas_12anos &", '"& mensagem &"', '"& categoria &"')")


%>

A verdade é que não queria isso, mas só tinha opção para retornar a página com campos preenchidos.

 

O que quero, é quando criei o checkbox na parte TERMOS, o internauta termine de preencher, e quando não marca o checkbox, manda enviar o formulário, terá que aparecer a tela pedindo ele venha a ler os termos e marcar o checkbox obrigatoriamente.

 

Ao terminar de marcar, manda enviar o formulário que vai diretamente pelo e-mail da pousada. O erro ocorre é que a página fica branco ao enviar, em vez de aparecer a tela com mensagem de agradecimento.

 

O erro está assim:

 

Microsoft JET Database Engineerror '80040e07'

 

 

 

Data type mismatch in criteria expression. /reservas_resp.asp, line 68

Que é da parte conexao.execute

Share this post


Link to post
Share on other sites

quais sao os campos que sao numericos em seu db?

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.