Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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 &"')")


%>

Compartilhar este post


Link para o post
Compartilhar em outros 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 ?

Compartilhar este post


Link para o post
Compartilhar em outros 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 &"')")


%>

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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...

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros 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...

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros sites

quais sao os campos que sao numericos em seu db?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.