Ir para conteúdo

POWERED BY:

Arquivado

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

hesmarjassi

replace

Recommended Posts

Pessoal eu gravo as informações no banco conforme abaixo:

echo "<input type='button' value='Salvar' onclick=Query.send('".urlencode('INSERT INTO rpte_passagem_turno VALUES(\''.$dtRpte.'\','.$turno.','.$linha).",\''+(texto_turno.value)+'\')') />";

Só que se tiver acento, til, ou alguma coisa ele grava um ponto de interrogação ? , como faço pra dar replace nesse caso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você executa a query enviada no HTML? Sério? :o

 

Quer dizer que se eu usar o Firebug e alterar essa query pra um "DROP TABLE" ou até "DROP DATABASE", o comando será executado?

 

É melhor repensar essa sua ideia...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo, não tenho conhecimento muito profundo do assunto, pelo menos ainda, e notei aqui em um outro lugar que estava fazendo assim e usei de modelo pq eu tentei gravar com a varíavel , assim:

echo "<input type='button' value='Salvar' onclick=Query.send('".urlencode('INSERT INTO rpte_passagem_turno VALUES(\''.$dtRpte.'\','.$turno.','.$linha).",\'".$variavel."\')') />";

E não funciona de jeito maneira, qual seria a melhor forma, o q recomenda?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

Véi, na boa... vamos estudar um pouquinho mais? Pesquise por CRUD para abrir sua mente.

 

A, e sobre o seu post, verifique a codificação da tabela/campo, verifique a codificação do seu HTML, e tente enviar somente dados. Pois infelizmente ainda vamos sofrer muito com isso no PHP. (um dia o unicode vai funcionar lol)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Noções básicas de Segurança. Jamais exponha dados sensíveis. Isso inclui nomes de tabela, nomes de campos de tabela também.

 

Nunca permite que o usuário manipule uma query. Pode ser a pior vulnerabilidade possível.

 

Monte a query no PHP. No HTML, apenas permita ao usuário selecionar o filtro usado.

E filtre os dados do usuário, prevenindo-se contra SQL Injection

 

 

Vale a pena ler este guia de dicas e boas práticas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom só pra vcs entenderem, faz bem pouco tempo q estou aqui, nem um mês, não tenho nem idéia de pq certas coisas estão do jeito q estão, primeiro agradeço vcs pela ajuda.

Android17 com certeza irei estudar sobre Crud e Beraldo vou ler os links q deixou.

Quanto ao meu caso aqui, troquei no banco pra utf8-default collection e também na página como:

Estava assim:
header("Content-Type: text/html; charset=ISO-8859-1",true);

Deixei assim:

header("Content-Type: text/html; charset=UTF-8",true);

E nada, o q me deixa mais injuriado é q tipo, quando fiz essas alterações além de não mostrar corretamente estragou todas as outras palavras da página q tinham acento, mesmo as que não vinham do banco, alguma idéia pessoal?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tanto no banco, tabela está como: utf8_general_ci

e minha página está assim:

header("Content-Type: text/html; charset=utf-8");

Só q notei q mesmo em :ISO-8859-1 ela mostra as palavras corretamente, o problema está na hora q eu gravo, ou seja, se estiver certo no banco, ele mostra correto, o q é estranho, mas acredito q o problema esteja nesse encode aqui:

echo "<input type='button' value='Salvar' onclick=Query.send('".urlencode('INSERT INTO rpte_passagem_turno VALUES(\''.$dtRpte.'\','.$turno.','.$linha).",\''+(texto_turno.value)+'\')') />";

que no momento vou tentar me concentrar em gravar da maneira correta, o erro não tem a ver com esse urlencode??

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro não tem a ver com esse urlencode??

é só usar urldecode() antes de mandar pro banco

 

mas, como eu já disse, é melhor você largar essa ideia. Se um dia alguém rodar uma query maliciosa, o problema será enorme...

 

Apreda aqui como fazer um sistema de cadastro seguro e bem estruturado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas ele já não está usando o urlencode aqui:

echo "<input type='button' value='Salvar' onclick=Query.send('".urlencode('INSERT INTO rpte_passagem_turno VALUES(\''.$dtRpte.'\','.$turno.','.$linha).",\''+(texto_turno.value)+'\')') />";

O que eu mais quero é mudar a estrutura aqui, mas no exato momento não dá, tem muita coisa pra fazer, mas vou tentar ler seu link anda hj, já baixei o de boas práticas.

Quanto ao url encode, está errado dessa forma?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas ele já não está usando o urlencode aqui

Como não?

Olha logo antes do INSERT.

 

 

se você usar urlencode e não usar urldecode(), caracteres especiais da SQL serão enviados de forma errada.

Por exemplo, em vez de aspas simples ('), será enviado "%27"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe, acho q eu me expressei mal, o q eu quis dizer é q está usando, mas eu coloquei assim:

echo "<input type='button' value='Salvar' onclick=Query.send('".urlencode(),('INSERT INTO rpte_passagem_turno VALUES(\''.$dtRpte.'\','.$turno.','.$linha).",\''+(texto_turno.value)+'\')') />";

E deu na mesma, continua gravando errado

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, isto não existe:

 

'".urlencode(),

 

Se você habilitar todas as exibições de erro, como mostrado neste tópico, na Orientação No. 2, verá que um erro é gerado.

 

Se não for usar urlencode(), remova a função do código, não apenas a deixe "num cantinho"

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.