Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Salve Salve Rapaziada,
Bom, venho aqui pedir uma possível ajuda.
O meu problema é o seguinte eu não consigo salver nenhum link desde que esteja neste formato:
<br /><br />
<a href="#">algum link</a>
<br /><br />
Ou ele não salva ou salva até encontrar as Âncoras.
Já usei o
Addslashes
mysql_escape_string
htmlentities
e não adiata ele continua a mesma coisa.
alguém já teve esse problema e/ou sabe como posso resolver?
segue abaixo os códigos em jquery e php
<!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 content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
<script type="text/javascript" src="http://www.sociodosamba.com.br/js/jquery.min.js" ></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function(){
$("#envia").click(function(){
var texto = $("#box").html();
var dataString = "msg=" + texto;$("#box").html(html);
}
});
});
});
</script>
<div id="box" contenteditable="true" style="width:490px;height:89px;border:1px solid #333;" ></div>
<a href="#" id="envia">enviar</a>
</body>
</html>
e o código PHP
<?php
include("conexao.php");
$eu=1;
$texto = mysql_escape_string($_POST['msg']);
$criada=time();
$insere=mysql_query("INSERT INTO `noticia` (`criada_em`,`autor_id`,`co_autor`,`materia`) VALUES ('".$crida."','".$eu."','".$eu."','".$texto."')") or die (mysql_error());
if($insere==true)
{echo $texto;}
else
{echo "falha";}
?>Rapaiz, esse seu código não era pra dar problemas com addslashes não...
tente o seguinte:
Substitua essa linha
$insere=mysql_query("INSERT INTO noticia (criada_em,autor_id,co_autor,materia) VALUES ('".$crida."','".$eu."','".$eu."','".$texto."')") or die (mysql_error());
Por essa:
$insere=mysql_query("INSERT INTO noticia (criada_em,autor_id,co_autor,materia) VALUES ('$crida','$eu','$eu','$texto')") or die (mysql_error());
Fernando, antes de tudo muito obrigado, funcionar até funcionou, porém na hora de salvar ele não salva continua na mesma. eu tô achando que é algo com Jquery, pois por input ele salva tranquilo. agora com div ele não salva.
>
coloca essa função no código
function escape($str)
{
$search=array("\\","\0","\n","\r","\x1a","'",'"');
$replace=array("\\\\","\\0","\\n","\\r","\Z","\'",'\"');
return str_replace($search,$replace,$str);
}
e substitue isso:
$texto = mysql_escape_string($_POST['msg']);
por isso:
$texto = escape(mysql_escape_string($_POST['msg']));
Se funcionar avisa ai que não deu para testar.
Machado, de fato você tem razão há nada de errado com o php, eu realizei alguns testes e percebi que o php está normal, se eu colocar input no lugar da div dá tudo certo. quando eu coloco a div para capturar os valores é que acontece o erro. de qualquer forma valeu pela atenção e ajuda!
>
Rapaiz, esse seu código não era pra dar problemas com addslashes não...
tente o seguinte:
Substitua essa linha
$insere=mysql_query("INSERT INTO noticia (criada_em,autor_id,co_autor,materia) VALUES ('".$crida."','".$eu."','".$eu."','".$texto."')") or die (mysql_error());
Por essa:
$insere=mysql_query("INSERT INTO noticia (criada_em,autor_id,co_autor,materia) VALUES ('$crida','$eu','$eu','$texto')") or die (mysql_error());
coloca essa função no código
e substitue isso:
$texto = mysql_escape_string($_POST['msg']);
por isso:
$texto = escape(mysql_escape_string($_POST['msg']));
Se funcionar avisa ai que não deu para testar.