kidh0 0 Denunciar post Postado Julho 11, 2005 Fala gurizada... tudo tri http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif ? Estou com um problema... estou fazendo um sisteminha de noticias. o meu problema é quando edito a notícia por exemplo: O titulo da notícia é: Não há "terrorismo" no mundo o cadastro da notícia é normal.. fica legal... o problema é na edição da noticia Quando o input recebe o titulo da noticia, só recebe 'não há'. Tem que fazer alguma coisa para as aspas duplas e simples??? Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Julho 11, 2005 Leia sobre: http://www.php.net/addslashes Compartilhar este post Link para o post Compartilhar em outros sites
kidh0 0 Denunciar post Postado Julho 11, 2005 Leia sobre: http://www.php.net/addslashes <{POST_SNAPBACK}> Então antes de cadsatrar no banco de dados , eu tenho que colocar em todos os campos addslashes($_POST[campo])? Como retornaria esses dados do bd??? Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Julho 11, 2005 Naum... você recupera os dados da sua string dentro dessa função... tipo$variavel = addslashes($resultado_sql[n]);Dai quando você mandar imprimir a $variavel ele vai aaprecer com as " Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Julho 11, 2005 A diretiva do PHP magic_quotes_gpc é on por padrão, e ela essencialmente executa addslashes() para todos dados de GET, POST e COOKIE. Não use addslashes() em strings que já foram escapadas com magic_quotes_gpc já que você acabara escapando duas vezes. A função get_magic_quotes_gpc() pode dar uma mão para conferir isto. http://br.php.net/manual/pt_BR/function.ge...-quotes-gpc.php stripslashes -- Desfaz o efeito de addslashes() Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Julho 11, 2005 Ae... eu confundi.... :) sorry Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Julho 11, 2005 você ta enganado wolf Tem que usar addslashes ante de gravar no bc Opa você nao leu o que eu escrevi acima? A diretiva do PHP magic_quotes_gpc é on por padrão, e ela essencialmente executa addslashes() para todos dados de GET, POST e COOKIE.Não use addslashes() em strings que já foram escapadas com magic_quotes_gpc já que você acabara escapando duas vezes. A função get_magic_quotes_gpc() pode dar uma mão para conferir isto. dai nesse caso você pode usar a função get_magic_quotes_gpc para ver se ta o magic_quotes_gpc esta on if (!get_magic_quotes_gpc()) { $lastname = addslashes($_POST['lastname']); } else { $lastname = $_POST['lastname']; } Compartilhar este post Link para o post Compartilhar em outros sites
kidh0 0 Denunciar post Postado Julho 11, 2005 No meu caso, está sendo gravado no bd sem problemas, com as aspas e tal... quando eu mostro a noticia na página noticia.php, as aspas aparecem normal. Agora quando eu quero editar a notícia é que está o problema.Quando eu chamo o campo do bd dentro do input, só aparece até a primeira aspa. Como eu faria para não dar esse problema??o código que resgata do bd é o seguinte...<input name"teste" value="<?php echo mysql_result($sql, $i, 'titulo'); ?>"> Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Julho 11, 2005 como assim só aparece até a primeira aspa ? posta o resultado ai como fica Compartilhar este post Link para o post Compartilhar em outros sites
kidh0 0 Denunciar post Postado Julho 11, 2005 Se eu postar na notícia: Londres declara "guerra" ao terrorismo' No banco de dados cadastra normal, consigo mostrar na página normalmente. Agora quando eu busco do bd e jogo num campo input para editar, aparece somente Londres declara . Corta o resto. consegui explicar bem??? como assim só aparece até a primeira aspa ? posta o resultado ai como fica <{POST_SNAPBACK}> Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Julho 11, 2005 sim conseguiu, da pra postar o codigo pra gente ver como você ta fazendo Compartilhar este post Link para o post Compartilhar em outros sites
kidh0 0 Denunciar post Postado Julho 11, 2005 O código do incluir_noticia.php: PHP [*]<?php [*] require_once("verifica.php"); [*] [*] if ($_POST[cadastrar]) [*] { [*] $erro = 0; [*] $cadastrado = 0; [*] $max_size=50000; [*] if (($_POST[txt_titulo] == "") || ($_POST[txt_chamada] == "") || ($_POST[txt_corpo] == "" ) || ($_POST[txt_fonte] == "" ) || ($_POST[txt_data] == "" )) [*] {$erro = 1; echo "<script>alert('Preencha todos os campos!')</script>";} [*] if ($_FILES[txt_foto][name]) [*] { [*] if (!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $_FILES[txt_foto][type])) [*] {$erro = 2; echo "<script>alert('Arquivo em formato inválido! Somente são permitidos jpeg, bmp, gif ou png!')</script>";} [*] if ($_FILES[txt_foto] > $max_size) [*] {$erro = 3; echo "<script>alert('Imagem com o tamanho acima do permitido (50kb)!')</script>";} [*] } [*] if ($erro==0) [*] { [*] require_once("../conecta.php"); [*] $data=implode('-',array_reverse(explode('/',$_POST[txt_data]))); [*] if ($_FILES[txt_foto][name]) [*] { [*] $arquivo=$_FILES[txt_foto]; [*] $nome = date(dmy)."_".str_replace(' ', '_', $arquivo['name']); [*] $diretorio = ".././upload/"; [*] move_uploaded_file($arquivo['tmp_name'], $diretorio.$nome); [*] $caminho = $nome; [*] } [*] $sql=mysql_query("INSERT INTO tb_noticias (titulo, chamada, corpo, fonte, foto, data, tipo) VALUES ('$_POST[txt_titulo]', '$_POST[txt_chamada]', '$_POST[txt_corpo]', '$_POST[txt_fonte]', '$caminho', '$data', '$_POST[txt_capa]')") or die ("Não foi possível fazer a conexão"); [*] if ($sql) [*] { [*] echo "<link href='sw_admin.css' rel='stylesheet' type='text/css'>"; [*] echo "<br><br><br><br>A notícia foi cadastrada com sucesso!"; [*] echo "<script>opener.location='principal.php?cod=noticias';</script>"; [*] echo "<br><br><a href='java script: window.close()'>Fechar</a>"; [*] $cadastrado = 1; [*] } [*] } [*] } [*] if ($cadastrado == 0) [*] { [*]?> [*]<link href='sw_admin.css' rel='stylesheet' type='text/css'> [*]<form name"frmincluirnoticia" action="incluir_noticia.php" method="post" enctype="multipart/form-data"> [*]<table width="242" height="297" border='0' cellpadding="2" cellspacing="0"> [*] <tr bgcolor="#ffffcc"> [*] <td height="18" colspan='2' align="center" style='border:1px solid #ffcc00'><b>Cadastro de noticias</b></td> [*] </tr> [*] <tr> [*] <td width="59" height="21"><div align="right">Titulo:</div></td> [*] <td width="175"><input name="txt_titulo" type="text" class="formulario" id="txt_titulo" size="35" maxlength="125"></td> [*] </tr> [*] <tr bgcolor="#FFFFFF"> [*] <td height="57"><div align="right">Chamada:</div></td> [*] <td><textarea name="txt_chamada" cols="31" rows="3" class="formulario" id="txt_chamada"></textarea></td> [*] </tr> [*] <tr> [*] <td height="105"><div align="right">Corpo:</div></td> [*] <td><textarea name="txt_corpo" cols="31" rows="7" class="formulario" id="txt_corpo"></textarea></td> [*] </tr> [*] <tr bgcolor="#FFFFFF"> [*] <td height="21"><div align="right">Fonte:</div></td> [*] <td><input name="txt_fonte" type="text" class="formulario" id="txt_fonte" size="35" maxlength="125"></td> [*] </tr> [*] <tr> [*] <td height="24"><div align="right">Foto:</div></td> [*] <td><input name="txt_foto" type="file" class="formulario" id="txt_foto" size="20"></td> [*] </tr> [*] <tr bgcolor="#FFFFFF"> [*] <td height="21"><div align="right">Data:</div></td> [*] <td><input name="txt_data" type="text" class="formulario" id="txt_data" value="<?php echo date("d/m/Y");?>" size="11" maxlength="11"> [*] (dd/mm/aaaa) </td> [*] </tr> [*] <tr> [*] <td height="21"><div align="right">Tipo:</div></td> [*] <td valign="middle"><input name="txt_capa" type="radio" value="0" checked> [*] Normal [*] <input name="txt_capa" type="radio" value="1"> [*] Destaque [*] </td> [*] </tr> [*] <tr bgcolor="#FFFFFF"> [*] <td height="30" colspan="2"> [*] <div align="right"> [*] <input name="limpar" type="reset" class="formulario" id="limpar" value="<< Limpar"> <input name="cadastrar" type="submit" class="formulario" id="cadastrar" value="Cadastrar >>"> [*] </div></td> [*] </tr> [*]</table> [*]</form> [*]<?php [*] } [*]?> e o do altera_noticia.php (onde está dando o problema das aspas) PHP [*]<?php [*] require_once("verifica.php"); [*] require_once("../conecta.php"); [*] $id= $_GET[id]; [*] if ($_POST[alterar]) [*] { [*] $erro = 0; [*] $alterado = 0; [*] if (($_POST[new_titulo] == "") || ($_POST[new_chamada] == "") || ($_POST[new_corpo] == "" ) || ($_POST[new_fonte] == "" ) || ($_POST[new_data] == "" )) [*] {$erro = 1; echo "<script>alert('Preencha todos os campos!')</script>";} [*] if ($erro==0) [*] { [*] require_once("../conecta.php"); [*] $data=implode('-',array_reverse(explode('/',$_POST[new_data]))); [*] $sql1=mysql_query("UPDATE tb_noticias SET titulo='$_POST[new_titulo]' , chamada='$_POST[new_chamada]', corpo='$_POST[new_corpo]', fonte='$_POST[new_fonte]', data='$data', tipo='$_POST[new_tipo]' WHERE id='$id'") or die ("Não foi possível fazer a conexão"); [*] if ($sql1) [*] { [*] echo "<link href='sw_admin.css' rel='stylesheet' type='text/css'>"; [*] echo "<br><br><br><br>A notícia foi alterada com sucesso!"; [*] echo "<script>opener.location='principal.php?cod=noticias';</script>"; [*] echo "<br><br><a href='java script: window.close()'>Fechar</a>"; [*] $alterado = 1; [*] } [*] } [*] } [*] if ($alterado==0) [*] { [*] $sql = mysql_query("SELECT * FROM tb_noticias WHERE id = $id") or die ("Não foi possível conectar"); [*] if ($sql) [*] { [*]?> [*]<link href='sw_admin.css' rel='stylesheet' type='text/css'> [*]<form name="frmalteranoticia" action="alterar_noticia.php?id=<?php echo $id; ?>" method="post"> [*]<table width="242" height="318" border='0' cellpadding="2" cellspacing="0"> [*] <tr bgcolor="#ffffcc"> [*] <td height="18" colspan='2' align="center" style='border:1px solid #ffcc00'><b>Cadastro de noticias</b></td> [*] </tr> [*] <tr> [*] <td width="59" height="21"><div align="right">Titulo:</div></td> [*] <td width="175"><input name="new_titulo" type="text" class="formulario" id="new_titulo" value="<?php echo mysql_result($sql,0,'titulo'); ?>" size="35" maxlength="125"></td> [*] </tr> [*] <tr bgcolor="#FFFFFF"> [*] <td height="57"><div align="right">Chamada:</div></td> [*] <td><textarea name="new_chamada" cols="31" rows="3" class="formulario" id="new_chamada"><?php echo mysql_result($sql,0,'chamada'); ?></textarea></td> [*] </tr> [*] <tr> [*] <td height="105"><div align="right">Corpo:</div></td> [*] <td><textarea name="new_corpo" cols="31" rows="7" class="formulario" id="new_corpo"><?php echo mysql_result($sql,0,'corpo'); ?></textarea></td> [*] </tr> [*] <tr bgcolor="#FFFFFF"> [*] <td height="21"><div align="right">Fonte:</div></td> [*] <td><input name="new_fonte" type="text" class="formulario" id="new_fonte" value="<?php echo mysql_result($sql,0,'fonte'); ?>" size="35" maxlength="125"></td> [*] </tr> [*] <tr> [*] <td height="24"><div align="right">Foto:</div></td> [*] <td><b><?php echo mysql_result($sql,0,'foto'); ?></b></td> [*] </tr> [*] <tr bgcolor="#FFFFFF"> [*] <td height="21"><div align="right">Data:</div></td> [*] <td><input name="new_data" type="text" class="formulario" id="new_data" value="<?php echo implode('/',array_reverse(explode('-',mysql_result($sql,0,'data')))); ?>" size="11" maxlength="11"> [*] (dd/mm/aaaa) </td> [*] </tr> [*] <tr> [*] <td height="21"><div align="right">Tipo:</div></td> [*] <td valign="middle"><input name="new_tipo" type="radio" value="0" <?php if (mysql_result($sql,0,'tipo') == 0) echo "checked"; ?>> [*] Normal [*] <input name="new_tipo" type="radio" value="1" <?php if (mysql_result($sql,0,'tipo') == 1) echo "checked"; ?>> [*] Destaque </td> [*] </tr> [*] <tr bgcolor="#FFFFFF"> [*] <td height="30" colspan="2"> [*] <div align="right"> [*] <input name="alterar" type="submit" class="formulario" id="alterar" value="Alterar >>"> [*] </div></td> [*] </tr> [*]</table> [*]</form> [*]<?php [*] } [*] } [*]?> Um detalhe, nos campos textarea não dá problema, é só nos input text... Compartilhar este post Link para o post Compartilhar em outros sites
kidh0 0 Denunciar post Postado Julho 11, 2005 Há... e no bd as " e ' aparecem normal... tipo: teste de "noticia".Será que é por isso que está dando problema??? No bd não deveria estar \"? Se for, como contornar??? Compartilhar este post Link para o post Compartilhar em outros sites
kidh0 0 Denunciar post Postado Julho 12, 2005 Gurizada... consegui arrumar usando o htmlspecialcharsconverti as aspas simples e as duplas antes de cadastrar no bd e deu certo!Vlw pelas dicas... Compartilhar este post Link para o post Compartilhar em outros sites