Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
boa tarde a todos, estou comum pequeno probleminha, eu criei um administrador para o meu até ai tudo bem consigo postar e tudo mais... esses dias eu tentei postar uma notícia que continha aspas simples ai ele me mostrou o seguinte erro :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'modernidade' pode ser prejudicial à saúde e à qualidade de ' at line 1
teria uma forma de transformar essas aspas em caracteres especiais do html ou algo do tipo que eu possa resolver?
estou usando o plugin Tinymce!
Aqui esá o codigo
<?php
include("in/header.php");
include("menu.php");
?>
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/validate.js" type="text/javascript"></script>
<!-- Place inside the <head> of your HTML -->
<script type="text/javascript" src="js/tinymce/tinymce.min.js"></script>
<script type="text/javascript">
tinymce.init({
selector: "textarea",
height: "300px",
plugins: [
"advlist autolink link image lists charmap preview hr anchor pagebreak",
"searchreplace wordcount visualblocks visualchars insertdatetime media nonbreaking",
"table contextmenu directionality emoticons paste textcolor filemanager code"
],
toolbar1: "undo | redo | bold | italic | underline | alignleft | aligncenter | alignright | alignjustify | bullist | numlist | outdent | indent | link | unlink | anchor | image | media | forecolor | backcolor | code | preview",
image_advtab: true ,
});
</script>
<script type="text/javascript">
$(document).ready(function(){
$('#valida').validate({
rules:{
titulo:{
required: true,
minlength: 3
},
conteudo:{
required: true,
minlength: 10
},
},
messages:{
titulo:{
required: "A página deve conter um nome",
minlength: "O nome deve ser mair que 3 caracters"
},
conteudo:{
required: "Escreva alguma coisa na página para poder salvar",
minlength: "O conteudo deve ser maior que 10 caracters"
},
}
});
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#blah').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$("#in").change(function(){
readURL(this);
$("#blah").fadeIn();
});
});
</script>
<div id="conteudo">
<h1 class="titulo-pagina">Postagem</h1>
<div class="tabela">
<form method="post" id="valida" enctype="multipart/form-data">
<?php
//Editar
$ed_titulo = '';
$ed_conteudo = '';
$ed_cat = '';
$ed_img = '';
$ed_tags = '';
if(isset($_GET['id'])){
$id = $_GET['id'];
$conecta->conectar();
$seleciona = mysql_query("SELECT * FROM post WHERE id = $id LIMIT 1") or die (mysql_error());
$campo = mysql_fetch_array($seleciona);
$ed_titulo = $campo['titulo'];
$ed_conteudo = $campo['conteudo'];
$ed_img = $campo['img'];
$ed_tags = $campo['tags'];
if(isset($_POST['editar'])){
$titulo = $_POST['titulo'];
$conteudo = $_POST['conteudo'];
$autor = $_SESSION['nome'].' '.$_SESSION['sobrenome'];
$cat = $_POST['cat'];
$tags = $_POST['tags'];
$pasta = 'upload';
if(isset($_FILES['img']['name']) && $_FILES['img']['name'] != ''){
$fotovelha = $campo['img'];
unlink($fotovelha);
$permite = array('image/jpg','image/jpeg','image/pjpeg','image/png');
$imagem = $_FILES['img'];
$destino = $imagem['tmp_name'];
$nome = $imagem['name'];
$tipo = $imagem['type'];
$extensao = explode(".",$nome);
$extensao = end($extensao);
$nomeimg = rand();
$novonome = $nome-img.".".$extensao;
function upload($destino, $nome, $largura, $pasta, $titulo, $extensao){
$img = imagecreatefromjpeg($destino);
$x = imagesx($img);
$y = imagesy($img);
$altura = ($largura * $y) / $x;
$novonome = $nome-img.".".$extensao;
$novaImagem = imagecreatetruecolor($largura, $altura);
imagecopyresampled($novaImagem, $img, 0, 0, 0, 0, $largura, $altura, $x, $y);
imagejpeg($novaImagem, "$pasta/$novonome");
imagedestroy($img);
imagedestroy($novaImagem);
}
upload($destino, $nome, 460, $pasta, $titulo, $extensao, $nome-img);
mysql_query("UPDATE post SET titulo='$titulo', conteudo='$conteudo', cat='$cat', tags='$tags', img='$novonome' WHERE id = $id") or die (mysql_error());
header("location:post.php");
}else{
mysql_query("UPDATE post SET titulo='$titulo', conteudo='$conteudo', cat='$cat', tags='$tags' WHERE id=$id") or die (mysql_error());
header("location:post.php");
}
}
}else{
if(isset($_POST['cadastrar'])){
$titulo = $_POST['titulo'];
$conteudo = $_POST['conteudo'];
$autor = $_SESSION['nome'].' '.$_SESSION['sobrenome'];
$data = date('d/n/Y');
$cat = $_POST['cat'];
$tags = $_POST['tags'];
$pasta = 'upload';
$permite = array('image/jpg','image/jpeg','image/pjpeg');
$imagem = $_FILES['img'];
$destino = $imagem['tmp_name'];
$nome = $imagem['name'];
$tipo = $imagem['type'];
$extensao = explode(".",$nome);
$extensao = end($extensao);
$nomeimg = rand();
$novonome = $nomeimg.".".$extensao;
$tabela = 'post';
function upload($destino, $nome, $largura, $pasta, $titulo, $extensao, $nomeimg){
$img = imagecreatefromjpeg($destino);
$x = imagesx($img);
$y = imagesy($img);
$altura = ($largura * $y) / $x;
$novonome = $nomeimg.".".$extensao;
$novaImagem = imagecreatetruecolor($largura, $altura);
imagecopyresampled($novaImagem, $img, 0, 0, 0, 0, $largura, $altura, $x, $y);
imagejpeg($novaImagem, "$pasta/$novonome");
imagedestroy($img);
imagedestroy($novaImagem);
}
upload($destino, $nome, 460, $pasta, $titulo, $extensao, $nomeimg);
$conecta->conectar();
$query = mysql_query("INSERT INTO ".$tabela." (titulo,img,cat,tags,conteudo,data,autor,status) VALUES ('$titulo','$novonome','$cat','$tags','$conteudo','$data','$autor',1)") or die (mysql_error());
//header("location:post.php");
//Abre o diretorio raiz
$handle= @opendir(".");
// abre ou cria o arquivo xml
$xml = fopen("../sitemap.xml","w+");
//Gravamos os dados iniciais do xml
fwrite($xml,"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"[http://www.sitemaps.org/schemas/sitemap/0.9\](http://www.sitemaps.org/schemas/sitemap/0.9%5C)">\n\n");
//Abre url
$conteudo = ' <url>'."\n";
//pega o Dominio e o nome do arquivo
$conteudo .=' <loc>http://'.$_SERVER['HTTP_HOST'].'/</loc>'."\n";
//pega a data atual e informa no xml
$conteudo .= ' <lastmod>'.date('Y-m-d', strtotime($data)).'</lastmod>'."\n";
//informa a frequencia de atualização da pagina
$conteudo .= ' <changefreq>daily</changefreq>'."\n";
//informa a prioridade da pagina
$conteudo .= ' <priority>1.0</priority>'."\n";
//Fecha url
$conteudo .= ' </url>'."\n";
fwrite($xml,$conteudo);
$sql_url = mysql_query("SELECT * FROM post");
while ($res_url = mysql_fetch_array($sql_url)) {
$slug = $res_url['id'];
$titulo = $res_url['titulo'];
$data = $res_url['data'];
//Abre url
$conteudo = ' <url>'."\n";
//pega o Dominio e o nome do arquivo
$conteudo .=' <loc>http://'.$_SERVER['HTTP_HOST'].'/post.php?id='.$slug.'</loc>'."\n";
//pega a data atual e informa no xml
$conteudo .= ' <lastmod>'.date('Y-m-d', strtotime($data)).'</lastmod>'."\n";
//informa a frequencia de atualização da pagina
$conteudo .= ' <changefreq>monthly</changefreq>'."\n";
//informa a prioridade da pagina
$conteudo .= ' <priority>0.2</priority>'."\n";
//Fecha url
$conteudo .= ' </url>'."\n";
fwrite($xml,$conteudo);
}
closedir($handle);
//Fechamos a estrutura do xml
fwrite($xml,"\n</urlset>");
//Fecha o arquivo aberto (para liberar memoria do servidor)
fclose($xml);
}
}
?>
<label class="label">Titulo da Postagem</label>
<input type="text" name="titulo" autocomplete="off" value="<?php echo $ed_titulo;?>">
<div id="post-form">
<label class="label">Tags</label>
<input type="text" name="tags" autocomplete="off" placeholder="Separe por virgula! exemplo: notícia, petrolândia..." value="<?php echo $ed_tags;?>">
<label class="label">Categoria</label>
<select name="cat">
<?php
$seleciona = mysql_query("SELECT * FROM categoria") or die (mysql_error());
while($campo = mysql_fetch_array($seleciona)){
echo '<option value="'.$campo['id'].'">'.$campo['nome'].'</option>';
}
?>
</select>
</div>
<div id="imagem-destacada">
<a href="#">Selecinar Imagem Destacada</a>
<input type="file" id="in" name="img" autocomplete="off">
<img id="blah" src="upload/<?php echo $ed_img;?>" />
</div>
<label class="label">Conteudo da Postagem</label>
<textarea type="text" class="jqte-test" name="conteudo"><?php echo $ed_conteudo;?></textarea>
<div id="bt-form">
<?php if(isset($_GET['id'])){?>
<input type="submit" value="Concluir Edição" name="editar">
<?php }else{?>
<input type="submit" value="cadastrar" name="cadastrar">
<?php }?>
</div>
<div style="clear:both;"></div>
</form>
</div>
</div><!--conteudo-->
</boy>
</html>Acho que o problema está nas aspas se você salva sem, aspas dá certo??
sem aspas da certo sim! meu único problema é esse...
mysql_escape_string nas variaveis $_POST
exemplo:
$titulo = mysql_escape_string($_POST['titulo']);
http://br2.php.net/manual/pt_BR/function.mysql-escape-string.php
kkkkk, vlw kara eu nem lembrava mais.. eu estou usando ela no login e no formulario de contato kkkkk mais vlw ficou certinho só que tive que usar:
mysql_real_escape_string($_POST['titulo'])
Códgio?