Jump to content
Fórum Script Brasil

fatimamaria

Membros
  • Posts

    22
  • Joined

  • Last visited

About fatimamaria

fatimamaria's Achievements

0

Reputation

  1. fatimamaria

    Assistente

    Esgotei rs, gente que coisa coloquei na parte de formulário, não da erro mas também não funciona, será que precisa fazer algo?
  2. fatimamaria

    Assistente

    O código completo ficou assim: formulario.asp <html> <head> <title>Assistente Virtual</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <form name="form1" method="post" action="respostas.asp"> <b><font size="2" face="Arial">Digite sua pergunta: <input type="text" name="perguntas"> <input type="submit" name="Submit" value="Enviar"> </font></b> </form> <p><font face="Tahoma" size="2"><b>&nbsp;<br> <br> Perguntas Cadastradas no BD: </b></font></p> <p> <font face="Tahoma" size="2"> <% dim dsn dim Conn dsn="DBQ=" & Server.Mappath("perguntas_respostas.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};" Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open dsn sql = "SELECT top 4 * FROM tabela order by ID " Set RS = Conn.Execute(sql) TotalRecs = rs.recordcount w = 0 For w = 1 to 20 If rs.eof then Exit For Else perguntas = RS("perguntas") %> - <%=perguntas%> <br> <%rs.MoveNext End If Next %> </font></p> </body> </html> respostas.asp <html> <head> <title>Assistente Virtual</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <% pergunta = Trim(Request.Form("perguntas")) If Len(pergunta) < 1 Then %> <b>Você precisa digitar uma pergunta!!</b> <% Else dim dsn dim Conn dsn="DBQ=" & Server.Mappath("perguntas_respostas.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};" Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open dsn sql = "SELECT *FROM tabela WHERE perguntas = '"&pergunta&"'" Set RS = Conn.Execute(sql) If RS.EOF Then Response.redirect "enviaemail.asp?pergunta=" & pergunta & "'" Else perguntas = RS("perguntas") respostas = RS("respostas") %> <b>Pergunta:</b> <%=perguntas%> <br> <b>Resposta:</b> <%=respostas%> <br><br> <% RS.Close Conn.Close Set RS = Nothing Set Conn = Nothing End If End If %> </body> </html> enviaemail.asp <% Option Explicit Dim var_pergunta, var_to, var_Mail, EnviarMail, MsgBody var_pergunta = Request.QueryString("pergunta") var_to = "[email protected]" var_Mail = "[email protected]" Set EnviarMail = Server.CreateObject("CDONTS.NewMail") EnviarMail.To = var_to EnviarMail.From = var_Mail EnviarMail.Subject = "Assitente virtual" MsgBody = var_pergunta EnviarMail.Body = MsgBody EnviarMail.Importance = 1 EnviarMail.BodyFormat = 0 EnviarMail.MailFormat = 0 EnviarMail.Send Set EnviarMail = Nothing ' Mostra Mensagem de Confirmação na Tela Response.write "Não encontramos a resposta para sua pergunta, então encaminhamos para a administradora... !" ' Redireciona após 5 segundos response.write "<br><br>Você será redirecionado em 3 segundos..<br>" response.write "<meta http-equiv='refresh' content='3; url=default.asp'/>" %> Até ai, funciona direitinho, mas pintou uma dúvida, aliais uma solução, eu consigo ter a resposta do sistema para perguntas feitas exatamente como foi cadastrada, e se o usuário digitar uma pergunta diferente o sistema envia um e-mail. Dai achei esse código: function Fonetica(campo, valor) fonetica = " (" &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace( " &_ " translate(lower( " & campo & " )," &_ " 'ãáâàõôóêéxçzkcmyíúvw'," &_ " 'aaaaoooeesssssniiuuu')," &_ " 'qu','s' ), 'h','' ), '''','' ), " &_ " 'zz','s' ), 'll','l' ), 'mm','m' ), " &_ " 'tt','t' ), 'rr','r' ), 'ff','f' ), " &_ " 'ii','i' ), 'bb','b' ), 'eia','ea' ), " &_ " 'nn','n' ), 'ch', 's' ), 'gg','g' ), " &_ " 'ou', 'u' ), 'st', 't' ), 'sh', 's' ), " &_ " 'ss','s' ), 'st', 't' ) " &_ " LIKE " &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace( " &_ "translate(lower( '%" & valor & "%' )," &_ "'ãáâàõôóêéxçzkcmyíúvw'," &_ "'aaaaoooeesssssniiuuu')," &_ " 'qu','s' ), 'h','' ), '''','' ), " &_ " 'zz','s' ), 'll','l' ), 'mm','m' ), " &_ " 'tt','t' ), 'rr','r' ), 'ff','f' ), " &_ " 'ii','i' ), 'bb','b' ), 'eia','ea' ), " &_ " 'nn','n' ), 'ch', 's' ), 'gg','g' ), " &_ " 'ou', 'u' ), 'st', 't' ), 'sh', 's' ), " &_ " 'ss','s' ), 'st', 't' ) " &_ " )" end function Basicamente ele faz a verificação da digitação e valida, exemplo de uma pergunta assim: "Você esta bem?" e se o usuário digitar: "você esta bem?" ele entende e localiza o registro, o problema é que não to sabendo adaptar no que já tenho pronto... help-me please bjos Fá
  3. fatimamaria

    Assistente

    Então, explicando melhor, estava procurando soluções para o sistema e achei esse para adaptar ao que o douglasdamame ajudou fazer, no exemplo atual da para procurar as perguntas exatas, assim esta muito bem, mas pensei em um exemplo: se o usuário digitar "vc" ao invés de Você não vai achar mesmo, então esse cógido faz isso, ou mais oumenos que eu tenha entendido rs será que alguém pode me dar uma forcinha? bjos obrigada
  4. fatimamaria

    Assistente

    Oi, olha eu aqui de novo, achei esse código no fórum e gostaria de saber se da para adapta-lo, achei bem interessante, da uma olhada: function Fonetica(campo, valor) fonetica = " (" &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace( " &_ " translate(lower( " & campo & " )," &_ " 'ãáâàõôóêéxçzkcmyíúvw'," &_ " 'aaaaoooeesssssniiuuu')," &_ " 'qu','s' ), 'h','' ), '''','' ), " &_ " 'zz','s' ), 'll','l' ), 'mm','m' ), " &_ " 'tt','t' ), 'rr','r' ), 'ff','f' ), " &_ " 'ii','i' ), 'bb','b' ), 'eia','ea' ), " &_ " 'nn','n' ), 'ch', 's' ), 'gg','g' ), " &_ " 'ou', 'u' ), 'st', 't' ), 'sh', 's' ), " &_ " 'ss','s' ), 'st', 't' ) " &_ " LIKE " &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace(replace( " &_ " replace(replace( " &_ "translate(lower( '%" & valor & "%' )," &_ "'ãáâàõôóêéxçzkcmyíúvw'," &_ "'aaaaoooeesssssniiuuu')," &_ " 'qu','s' ), 'h','' ), '''','' ), " &_ " 'zz','s' ), 'll','l' ), 'mm','m' ), " &_ " 'tt','t' ), 'rr','r' ), 'ff','f' ), " &_ " 'ii','i' ), 'bb','b' ), 'eia','ea' ), " &_ " 'nn','n' ), 'ch', 's' ), 'gg','g' ), " &_ " 'ou', 'u' ), 'st', 't' ), 'sh', 's' ), " &_ " 'ss','s' ), 'st', 't' ) " &_ " )" end function bjos
  5. fatimamaria

    Assistente

    Oi douglasdamame, Poxa nem sei como te agradecer, deu certo sim, agora vou dar uma pesquisada de como inserir no bd, acho que deve ser fácil, de qualquer modo, posto aqui pra você, to me esforçando bastante rs Bjos e obrigada
  6. fatimamaria

    Assistente

    Oi, Fiz e refiz, mas não ta enviando, ta dando erro no servidor, olha o código: <% 'Email para onde serão enviados os dados do formulário email_form = "[email protected]" 'Título do email assunto_form = "Assistente virtual" 'Servidor de email servidor = "smtp.sementesdinale.com.br" 'Componente para envio do email: CDONTS componente = "CDONTS" 'Cabeçalho do texto do email recebido cabecalho_email = "Pergunta não cadastrada no assistente" '******************************************************************* %> <html> <head> <title>Assistente Virtual</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <% pergunta = Trim(Request.Form("perguntas")) If Len(pergunta) < 1 Then %> <b> Você precisa digitar uma pergunta!!</b> <% Else dim dsn dim Conn dsn="DBQ=" & Server.Mappath("perguntas_respostas.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};" Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open dsn sql = "SELECT *FROM tabela WHERE perguntas = '"&pergunta&"'" Set RS = Conn.Execute(sql) If RS.EOF Then %> <b> Não tem resposta para sua pergunta </b> <% Option Explicit Dim , var_mail, var_pergunta, var_to, EnviarMail, MsgBody var_mail = "[email protected]" var_to = "[email protected]" var_pergunta = Request.form("pergunta") Set EnviarMail = Server.CreateObject("CDONTS.NewMail") EnviarMail.To = var_to EnviarMail.From = var_mail EnviarMail.Subject = "Assitente virtual" MsgBody = var_pergunta EnviarMail.Body = MsgBody EnviarMail.Importance = 1 EnviarMail.BodyFormat = 0 EnviarMail.MailFormat = 0 EnviarMail.Send Set EnviarMail = Nothing Response.redirect "Obrigado.asp" %> <% Else perguntas = RS("perguntas") respostas = RS("respostas") %> <b>Pergunta:</b> <%=perguntas%> <br> <b>Resposta:</b> <%=respostas%> <br><br> <% RS.Close Conn.Close Set RS = Nothing Set Conn = Nothing End If End If %> </body> </html> Tentei fazer com aquele que eu tinha feito mas sem o "case" e não deu.. será que to fazendo burrada? ah e fiz assim também: <html> <head> <title>Assistente Virtual</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <% pergunta = Trim(Request.Form("perguntas")) If Len(pergunta) < 1 Then %> <b> Você precisa digitar uma pergunta!!</b> <% Else dim dsn dim Conn dsn="DBQ=" & Server.Mappath("perguntas_respostas.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};" Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open dsn sql = "SELECT *FROM tabela WHERE perguntas = '"&pergunta&"'" Set RS = Conn.Execute(sql) If RS.EOF Then %> <b> Não tem resposta para sua pergunta </b> <% Option Explicit Dim , var_mail, var_pergunta, var_to, EnviarMail, MsgBody var_mail = "[email protected]" var_to = "[email protected]" var_pergunta = Request.form("pergunta") Set EnviarMail = Server.CreateObject("CDONTS.NewMail") EnviarMail.To = var_to EnviarMail.From = var_mail EnviarMail.Subject = "Assitente virtual" MsgBody = var_pergunta EnviarMail.Body = MsgBody EnviarMail.Importance = 1 EnviarMail.BodyFormat = 0 EnviarMail.MailFormat = 0 EnviarMail.Send Set EnviarMail = Nothing Response.redirect "Obrigado.asp" %> <% Else perguntas = RS("perguntas") respostas = RS("respostas") %> <b>Pergunta:</b> <%=perguntas%> <br> <b>Resposta:</b> <%=respostas%> <br><br> <% RS.Close Conn.Close Set RS = Nothing Set Conn = Nothing End If End If %> </body> </html> bjs
  7. fatimamaria

    Assistente

    Primeiramente, porque Case "CDONTS" ??? Você não esta fazendo verificação de Casos..... Rs boa pergunta, mas vamos lá to gostando disso pois to aprendendo muito, vou postar logo logo o código, quero quebrar um pouco a cabeça rs bjs
  8. fatimamaria

    Assistente

    Oi, Acho que to fazendo algo errado, mas eu consegui colocar o sistema e resgatar a variável, mas não ta chegando e-mail, consultei o servidor e ele me disseram que o componente tem, talvez meu código ta errado, veja: <% 'Email para onde serão enviados os dados do formulário email_form = "[email protected]" 'Título do email assunto_form = "Assistente virtual" 'Servidor de email servidor = "smtp.sementedinale.com.br" 'Componente para envio do email: CDONTS componente = "CDONTS" 'Cabeçalho do texto do email recebido cabecalho_email = "Pergunta não cadastrada no assistente" '******************************************************************* %> <html> <head> <title>Assistente Virtual</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <% pergunta = Trim(Request.Form("perguntas")) If Len(pergunta) < 1 Then %> <b> Você precisa digitar uma pergunta!!</b> <% Else dim dsn dim Conn dsn="DBQ=" & Server.Mappath("perguntas_respostas.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};" Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open dsn sql = "SELECT *FROM tabela WHERE perguntas = '"&pergunta&"'" Set RS = Conn.Execute(sql) If RS.EOF Then %> <b> Não tem resposta para sua pergunta </b> <% destino = request.form("[email protected]") resposta = "Pergunta não encontrada: "& perguntas &" <BR>" EnviaEmail servidor, componente, email_form, email_form, destino, assunto_form, resposta Function EnviaEmail(Host,Componente,Email,NomeEmail,ParaEmail,Assunto,resposta) Select Case Componente Case "CDONTS" on error resume next Set eObjMail = Server.CreateObject("CDONTS.NewMail") eObjMail.to = ParaEmail eObjMail.from = NomeEmail & "<" & Email & ">" eObjMail.subject = Assunto eObjMail.Importance = 1 eObjMail.BodyFormat = 0 eObjMail.MailFormat = 0 eObjMail.body = resposta eObjMail.send Set eObjMail = nothing End Select End Function %> <% Else perguntas = RS("perguntas") respostas = RS("respostas") %> <b>Pergunta:</b> <%=perguntas%> <br> <b>Resposta:</b> <%=respostas%> <br><br> <% RS.Close Conn.Close Set RS = Nothing Set Conn = Nothing End If End If %> </body> </html>
  9. fatimamaria

    Assistente

    Oi Doglas, Eu vi o que estava fazendo errado, você tem me ajudado muito, vou tentar fazer o sistema para enviar a pergunta por e-mail e posto para tirar dúvidas, obrigada mesmo bjos Fá
  10. fatimamaria

    Assistente

    Oi douglasdamame, Poxa era isso mesmo que eu estava querendo. Só que tem uma coisa, fiz o teste de duas perguntas: Pergunta: tem namorado? Resposta: Tenho Pergunta: Tem namorados? Resposta: Não Percebe, fiz duas perguntas meio que parecidas, o resultado foi que não havia resposta para pergunta. Depois fiz o teste com o que escreveu: - Quanto é 2 + 2 - Quanto é 2 + 5 o sistema também não achou resposta. Basicamente são diferentes mas o sistema não acha, tem como resolver? bjs
  11. fatimamaria

    Assistente

    Oi douglasdamame, Poxa era isso mesmo que eu estava querendo, parece meio sem sentido mas tenho uma justificativa, bom, esse sistema será utilizado para responder perguntas normalmente já formuladas em que os usuários costumam faze-las sempre, já tenho as perguntas (são mais ou menos 200). Estou pensando em uma solução, nem sei se da pra fazer isso, exemplo, se o usuário digitar uma pergunta e não tiver no banco de dados, o sistema informa a ele que no momento não há resposta, e automaticamente envia a pergunta para o administrador via e-mail para que ele possa cadastrar. Será que da pra fazer isso? bjos obrigada
  12. fatimamaria

    Assistente

    É assim: Vou alimentar o bd de duas formas, perguntas e respostas destas perguntas. Quando o usuário digitar uma pergunta, o sistema vai procurar a resposta para a questão. Mas, o sistema de busca que criei ai em cima procura palavras. Se eu tiver duas perguntas que contenha uma palavra idêntica é mostrado duas respostas. ex: Pergunta: Qual é a cor da folha de lírio Resposta: Roxa Pergunta: Qual é a cor da folha de rosa Resposta: vermelha Se na busca o usuário digitar qual é a cor da folha, o sistema traz duas respostas diferentes ou se houver mais perguntas com qualquer palavra o sistema ta trazendo tudo, portanto ele busca somente palavra, eu queria uma busca pela frase, se não tiver a frase, o sistema não aponta resultado. percebeu a dificuldade? Tem como resolver isso? bjs
  13. fatimamaria

    Assistente

    Funciona, mas procura palavras, eu quero que procure a frase entende
  14. fatimamaria

    Assistente

    Então, o meu ta parecido, mas só busca palavra e não frase, fiz um teste com seu código mas não funcionou, fiz a conexão salvei a tabela e inseri perguntas e respostas mas ele não ta buscando.... o meu código para bbusca é assim: <% If strSearch <> "" Then strDBPath = Server.MapPath("contato.mdb") Const adUseClient = 3 Set cnnSearch = Server.CreateObject("ADODB.Connection") cnnSearch.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";" cnnSearch.CursorLocation = adUseClient strSQL = "SELECT pergunta, resposta " _ & "FROM contato " _ & "WHERE pergunta LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _ '& "OR pergunta LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _ '& "ORDER BY nome;" Set rstSearch = cnnSearch.Execute(strSQL) intContador = rstSearch.RecordCount %> ele busca palavras, queria que buscasse a frase, tem como adaptar?
  15. fatimamaria

    Assistente

    olá, gostaria de agradecer a todos que ajudaram, obrigada mesmo
×
×
  • Create New...