Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
seguinte galera, eu tenho um sistema onde uso a seguinte função para inserção de dados no db:
function inject($str){
$str = get_magic_quotes_gpc() ? stripslashes($str) : $str;
$str = function_exists('mysql_real_escape_string') ? mysql_real_escape_string($str) : mysql_escape_string($str);
$str = trim($str);
$str = strip_tags($str);
return $str;
}
porém, ela não restorna tags html e adiciona \ nas aspas, como é de se esperar. o que eu gostaria é que: mesmo que contenham tags html ou aspas, aparecessem o conteúdo normalmente na hora de imprimir, pois é um sistema de noticias e caso precise utilizar aspas ou caracterers especias nao fica interessante que adicione barra invertida ou oculte os caracteres, alguem tem algum link pra estudo ou uma função que faça isso ? obrigado.
Para mais informações, estude: http://php.net/manual/pt_BR/mysqli.quickstart.prepared-statements.php
eu ja utilizo bindValue(); quer dizer que usando ele não preciso mais utilizar funções para limpar a string ?
PDO ou Mysqli?
pois é esta função ai e para mysql_*
E para guardar informações vindo text area usando wysiwygs, converta todos os caracteres aplicáveis em entidades html
entrada
htmlentities((string)$string, ENT_QUOTES, 'utf-8');
saída
html_entity_decode((string)$string, ENT_QUOTES, 'utf-8')
>
PDO ou Mysqli?
pois é esta função ai e para mysql_*
E para guardar informações vindo text area usando wysiwygs, converta todos os caracteres aplicáveis em entidades html
entrada
htmlentities((string)$string, ENT_QUOTES, 'utf-8');
saída
html_entity_decode((string)$string, ENT_QUOTES, 'utf-8')
é PDO amigo
Então não faz sentido a utilização da função acima, pois não é para PDO.
Caso esteja utilizando ela em várias partes do sistema, troque por esta abaixo:
function inject($str){
$str = filter_var($str, FILTER_SANITIZE_STRING);
return trim( $str );
}
http://php.net/manual/pt_BR/function.filter-var.php
E não use FILTER_SANITIZE_STRING para dados vindo de wysiwygs, ai é a que passei acima!
perfeito! muito obrigadooo
Utilize prepared statements, isso resolve o seu problema.