Ir para conteúdo
Fórum Script Brasil
  • 0

O Que Fazer Com As Apas""


brunohcs

Pergunta

O que eu faço para evitar esse tipo de situação? o cara vai lá digita um texto qalqer e manda pro DB e nesse texto tem aspas... a hora q eu retornar o texto numa caixa de texto para fazer alteração do mesmo por exemplo. o texto vem cortado.. como resolver esse tipo de situação ¿

valeu ai moçada abraços! huh.gifwink.gif

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

string addslashes ( string str )

Retorna uma string com barras invertidas antes de caracteres que precisam ser escapados para serem escapados em query a banco de dados, etc. Estes caracteres são aspas simples ('), aspas duplas ("), barra invertida (\) e NUL (o byte NULL).

Um exemplo do uso de addslashes() é quando você esta entrando com dados em um banco de dados. Por exemplo, para inserir o nome O'reilly em um banco de dados, você vai precisar escapa-lo. A maior parte dos banco de dados faz isto com \ o que nos leva a O\'reilly. Isto é apenas para colocar os dados no banco de dados, a \ não será inserida. Tendo a diretiva do PHP magic_quotes_sybase em on fará com que ' seja escapada com outra '.

Entendi já para quem quizer ver ai leia ein cima smile.gif

Mas e agora.. uso a função ao tirar os dados do banco ou quando eu inserir os dados no banco? e quando ele foi me apresentar o texto normalment ele não vai mandar a \ ¿

Link para o comentário
Compartilhar em outros sites

  • 0

agora vejam o problema, eu preciso disso para o usuario fazer a alteração no campo texto.. mas se xegar lá o texto com barras invertidas não vai adianta nada.. porque dai os cara vao posta tudo com barras?

não intendi como fazer isso me ajdua.. porque para simlpesmente mostrar a tela para os usuarios não tem problema.. ?

porque tipo se eu mandar pro db com as barras, dai na hora de exibir para alteração vo ter q tira as invertida e vai fude o campo d texto do memo jeito..

e ai¿ coeh¿

abraços :}

Link para o comentário
Compartilhar em outros sites

  • 0

addslashes() quando for inserir ...

stripslashes() quando for mostrar...

se alguém postar a frase ISSO É UM "teste"...

Inserindo no banco:

$texto = addslashes($_POST["texto"]);
INSERT INTO ... VALUES ('$texto');//vai ficar no campo da tabela ISSO É UM \"teste\"
Mostrando na página:
$texto = stripslashes($coluna["texto"]);
echo $texto; //vai mostrar o texto normal, ISSO É UM "teste".

wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Já que ninguém tem uma solução, então eu vou dar uma que na minha opinião não é a solução perfeita mas resolve..

"Seguinte"

Deixar os campos com aspas simples tipo <input type='text' value='<? echo "$texto";?>'>

e dai no cadastro impedi o cadastro de aspas simples só deixar as aspas duplas liberadas.. isso resolveria.. mas ai limita a aspa simples mas também não é muito usada então axo q já ajuda

SE alguém AI TIVER UMA OUTRA SOLUÇÃO POSTAE smile.gif

ABRAÇOSSS

Link para o comentário
Compartilhar em outros sites

  • 0

meu que viajem, não tem nada haver você fazer isso

não precisa limitar nada basta usar as funções já postadas aqui, não sei porque você não entendeu é simples

e como já foi falado ainda evita sql injection

assim também ta certo:

<input type="text" value="<? echo "$texto";?>" />

ou assim

<?= "<input type=\"text\" value=\"$texto\" />" ?>

as aspas escritas no html não tem nada haver com o que vai ser gravado no banco de dados

Link para o comentário
Compartilhar em outros sites

  • 0

só lamento mais é umpossivel já fiz de tudo. .sempre destroi a caxa de texto como mostrei na imagem acima...

include ('../admin/conecta.php');
echo "$cima";
$comando = "select * from agenda where id=$id";
$res=mysql_query($comando,$con);
@$linhas=mysql_num_rows($res);
if ($linhas==0) { echo "nenhum usuario encontrado $baxo"; die; } else
{
$matriz_resposta = mysql_fetch_array($res);

	$cliente=$matriz_resposta['cliente'];
  $msg=$matriz_resposta['msg'];
	$funcionario=$matriz_resposta['funcionario'];
  
	$data=$matriz_resposta['data'];
	$hora=$matriz_resposta['hora'];
	$id=$matriz_resposta['id'];

//$cliente = addslashes("$cliente");



//	$msg = nl2br($msg);
} 

?>

<table width="100%" border="0" cellspacing="0" cellpadding="1" align="center">
  <tr> 
    <td align="center">Alteração de Agenda</td>
  </tr>
  <tr> 
    <td><form action="alt_verifica.php" method="post" name="cad" id="cad">
        <table width="300" border="0" cellspacing="1" cellpadding="2" bgcolor="#cccccc" align="center">
          <tr bgcolor="#FFFFFF"> 
            <td>Cliente:</td>
            <td><? echo '<input name="cliente" type="text" id="cliente" value="'.$cliente.'">'; ?></td>
          </tr>
          <tr bgcolor="#FFFFFF"> 
            <td>Funcionario:</td>
            <td>

vejam ai

Link para o comentário
Compartilhar em outros sites

  • 0

baum deu certo fazendo isso

$cliente=str_replace('"', "&quot;", $cliente);

o cara lá ein cima jahitnha dito pra ue troka por vazio mai snao tinha pensado ein fazer essa troca ai eu não tinha me tocado agora for.. moderador fexa esse troço smile.gif

vlw ai todos que me ajudaram :}

Link para o comentário
Compartilhar em outros sites

  • 0

mas isso não é problema e é coisa simples de se revolver

eu só to falando que você ta fazendo gambi porque não é a solução mais adequada

mas faça do jeito que você acha mais facil ou que resolva seu problema

só quiz ajudar

exemplo que pode dar certo:

obs: você tem que ver o porque que ta dando erro e não somente mudar o jeito de fazer, e outra coisa você tem que ver como ta gravando o cliente o mais importante é na entrada do banco e não pra exibir

include ('../admin/conecta.php');
echo "$cima";
$res = mysql_query("select * from agenda where id = $id");

if (mysql_num_rows($res) == 0) { 
	echo "nenhum usuario encontrado $baxo"; 
	exit; 
} else {
	$matriz_resposta = mysql_fetch_array($res);
	$cliente         = $matriz_resposta['cliente'];
	$msg             = $matriz_resposta['msg'];
	$funcionario     = $matriz_resposta['funcionario'];
	$data            = $matriz_resposta['data'];
	$hora            = $matriz_resposta['hora'];
	$id              = $matriz_resposta['id'];
} 

?>

<table width="100%" border="0" cellspacing="0" cellpadding="1" align="center">
 <tr> 
   <td align="center">Alteração de Agenda</td>
 </tr>
 <tr> 
   <td><form action="alt_verifica.php" method="post" name="cad" id="cad">
       <table width="300" border="0" cellspacing="1" cellpadding="2" bgcolor="#cccccc" align="center">
         <tr bgcolor="#FFFFFF"> 
           <td>Cliente:</td>
           <td><?= "<input name=\"cliente\" type=\"text\" id=\"cliente\" value=\"$cliente\" />" ?></td>
         </tr>
         <tr bgcolor="#FFFFFF"> 
           <td>Funcionario:</td>
           <td>

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...