Ir para conteúdo

Arquivado

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

Igor FV

"\" não é gravada no campo tipo LONGTEXT....

Recommended Posts

Boa noite amigos,Tenho um form com um campo textarea, quando insiro uma barra dentro desse campo, exempo C:\WINDOWS\, o dado que é gravado no campo é C:WINDOWS, ele não salva as "\", estou usando o mysql e o tipo de campo é LONTEXT...Existe alguma restrição para esse tipo de variavel?Alguem tem uma sugestao?Vlw...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo alterei o tipo de dado do campo de LONGTEXT para BLOB, mas não funfou... e ainda quando dei um novo insert o campo ficou assim:Binário - não edite (9 Bytes) Vlw..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, não está mais funcionando a ideia que você postou sobre o campo textarea:estou usando o seguinte:

desc = Server.HTMLEncode(Request.form("desc_proc"))

Não ta gravando caracteres especiais como a "/" e acentos... quando coloco o acento.... os daddos gravados no banco aparecem como codigos....Como posso resolver isso amigo?Pagina de cadastro:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><!--#include file="Connections/conn.asp" --><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><meta http-equiv="refresh" content="3;URL=cad_proc.asp"><% Dim nome,desc,gravar,msg,acao,data,horanome = request.form("nome_proc")desc = Server.HTMLEncode(Request.form("desc_proc"))data = request.form("data_proc")hora = request.form("hora_proc")acao = request.form("msg")If acao="1" Thengravar = "INSERT INTO tbl_proc(nome_proc,desc_proc,data_proc,hora_proc) values('"&nome&"','"&desc&"','"&data&"','"&hora&"')"set rs = conn.execute(gravar)response.write("Procedimento cadastro realizado com sucesso!")elseresponse.redirect("cad_proc.asp")end if%></head><body></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara o que você está fazendo está realmente correto, eu uso sempre esse tipo de código aki e nunca deu erro, então eu comparei o seu código com o meu e fiz alterações, por exemplo no topo da página retire o que foi feito por você e coloque assim:

 

<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/conn.asp" -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="refresh" content="3;URL=cad_proc.asp">

faça ai esse teste em todas as páginas que vão apontar o resultado e poste ai para ver se houve êxito!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo Ted K', coloquei do jeito que você falou, mas continua não salvando a "\" no bd mysql.Os outros caracteres especiais como acentos agudos, til, hifen... são salvos codificados no bd, mas quando listo na web, os acentos aparecem normalmente, só estou tendo problemas com a "\" mesmo, pois nem codificada está sendo quando faço o insert.Teria alguma outra sugestão amigos?Código da pagina de INSERT:

<%@LANGUAGE="VBSCRIPT" %><!--#include file="Connections/conn.asp" --><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><meta http-equiv="refresh" content="3;URL=cad_proc.asp"><%Dim nome,desc,gravar,msg,acao,data,horanome = request.form("nome_proc")desc = Server.HTMLEncode(request.form("desc_proc"))data = request.form("data_proc")hora = request.form("hora_proc")acao = request.form("msg")If acao="1" Thengravar = "INSERT INTO tbl_proc(nome_proc,desc_proc,data_proc,hora_proc) values('"&nome&"','"&desc&"','"&data&"','"&hora&"')"set rs = conn.execute(gravar)response.write("Procedimento cadastro realizado com sucesso!")elseresponse.redirect("cad_proc.asp")end if%></head><body></body></html>

Vlw amigos... e aguardo sugestões...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos fazer um teste? Troque a \ por \\ e verifique se grava e exibe corretamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

se a dica do salgado não funcionar, ao gravar troque a barra pelo código Asc correspondente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo Salgado, Troquei a \ por \\ e quando gravei no bd ele salvou somente uma \ e tb exibiu, mas para gavar uma \ terei que por sempre \\ ?Existe alguma saida pra isso?Vlw amigos pela ajuda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só fazer Replace antes de inserir no BD. É o mesmo esquema com as ' que causam erro e podem ser utilizadas para SQLInjection.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara o replace é assim

 

Replace(Request.Form("campo"), "\", "\\")
e o outro é
Replace(Request.Form("campo"), "'", "''") ' com aspas simples

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.