Jump to content


Photo

Aspas Simples Dentro Do Input Não Funciona.


  • Faça o login para participar
10 replies to this topic

#1 jfsmi

jfsmi

    12 Horas

  • Usuários
  • 201 posts
  • Sexo:Masculino

Posted 08/11/2005, 10:28

Ae pessoal...

Tenho um formulário com ASSUNTO e CONTEÚDO.

<form name="NovoMemorando" action="/cmid/novo.php" method="post" onsubmit="return ValidaFormNovoMemorando()">
        Assunto:<br><input class=text type=text name="assunto" style="width:400px;" maxlength="255"><br><br>
        Conteúdo:<br><textarea class=text name="conteudo" rows="10" cols="50"></textarea><br><br>
        <input class=botao type=submit name=acao value=GRAVAR>
        <input class=botao type=submit name=acao value=ENVIAR>
      </form>


Se eu digito no campo assunto do formulário:

Projeto "Meu Sonho"


A página seguinte aparece

Projeto \"Meu Sonho\"


Agora se eu digito:

Projeto 'Meu sonho'


Aparece:

Projeto \


Ou seja, pq funciona com aspas dupla e não com simples? Porém isso só acontece quando coloco a variável num INPUT... assim:

Assunto: <input class=text type=text name='assunto' value='$assunto' style='width:400px;' maxlength='255'>

se eu deixar apenas:

Assunto: $assunto

aparece normal.

Não sou expert... mas tento ajudar! Mas o que mais preciso é de ajuda! hehehe


#2 raphaelcarlos

raphaelcarlos

    Futebol, Cerveja e Familia Ø VIVA LoCuRa Ø

  • Usuários
  • 239 posts
  • Sexo:Não informado
  • Localidade:Sao paulo

Posted 08/11/2005, 10:47

vc esta fazendo em php ou html?
Raphael prefere :
Mozilla/5.0 => Tema :Noia 2.0 (eXtreme) | Linux Mandriva
Linguagens :
PHP | ASP | VB | JavaScript | Dhtml |
Banco de dados :
ODBC | Mysql | SQL Server | Oracle 10g
To aprendendo :
Java | Ajax | Web 2.0
Ferramentas :
PL - SQL | Mysql Front | PHP editor | PhotoShop | Mysql Adminstrator

#3 kleryson

kleryson

    Mestre

  • Usuários
  • 687 posts
  • Sexo:Masculino

Posted 08/11/2005, 10:47

Cara conforme teste percebi que o que esta ocorrendo depende de como vc colocou nas tag de input se vc colocar os paramentros tipo

<input type="name">

Vai ocorrer o caso do / no input quando usar aspa "

<input type='name'>

Vai ocorrer o caso do / no input quando usar aspa '

Acho q o que vc pode fazer é substituir as aspas " ou ' pela outra

#4 kleryson

kleryson

    Mestre

  • Usuários
  • 687 posts
  • Sexo:Masculino

Posted 08/11/2005, 10:50

Vc pode fazer assim:

<?php
if (!empty($_REQUEST['teste'])){
	$valor=str_replace("'","\"" ,$_REQUEST['valor']);
?>
<input type='text' name='teste' value='<?=$valor?>' accept='text/html' />
<?php
}else{
?>
<form action="./teste4.php" name="teste" method="post">
	<input type="text" name="valor" />
	<input type="hidden" name="teste" value="ok" />
	<input type="submit" />
</form>
<?php
}
?>


#5 jfsmi

jfsmi

    12 Horas

  • Usuários
  • 201 posts
  • Sexo:Masculino

Posted 08/11/2005, 11:23

Klerison,

Sua sugestão até que foi boa, porém, acontece a alteração de aspas simples (') para duplas ("). Se o usuário gravar, irá gravar com esta alteração. Não será mais possível identificar quando deve ser simples ou dupla.
Veja um exemplo de texto:

E lá estava escrito: "O sujeito disse: 'Não quero!' e logo saiu."

Neste exemplo, a expressão "Não quero!" ficaria também com aspas duplas.

===============
Raphael,

Estou fazendo o sistema em PHP. Já estudei as diretrizes ADDSLASHES e STRIPSLASHES, mas parece que não é exatamente esse o problema.
Como o Klerison destacou a questão do <input value='valor'> ou <input value="valor">, tem alguma coisa a ver com o meu INPUT dentro do ECHO ou com a VARIÁVEL dentro do INPUT.

Edição feita por: jfsmi, 08/11/2005, 11:26.

Não sou expert... mas tento ajudar! Mas o que mais preciso é de ajuda! hehehe


#6 kleryson

kleryson

    Mestre

  • Usuários
  • 687 posts
  • Sexo:Masculino

Posted 08/11/2005, 12:08

Então se vc deseja fazer diferenciação das aspas tenta assim:

<?php
if (!empty($_REQUEST['teste'])){

$valor=str_replace("\"","&quot;" ,$_REQUEST['valor']);
?>
<input type="text" name="teste" value="<?=$valor?>" />
<?php
}else{
?>
<form action="./teste4.php" name="teste" method="post">
<input type="text" name="valor" />
<input type="hidden" name="teste" value="ok" />
<input type="submit" />
</form>
<?php
}
?>

#7 Hes Vital

Hes Vital

    Doutor

  • Usuários
  • 796 posts
  • Sexo:Não informado
  • Localidade:Leste - Santa Catarina
  • Interesses: * Programação - Sempre é bom criar algo.<br> - PHP<br> - Action Script<br> * Jogos - Nunca se é velho demais pra jogar.<br> - RPG<br> - Ação<br> - Outros

Posted 08/11/2005, 13:01

Assunto: <input class=text type=text name='assunto' value='$assunto' style='width:400px;' maxlength='255'>

Digamos que o valor de assunto é:
Olá 'mundo'
Então tá, vamos ver o que acontece:

Assunto: <input class=text type=text name='assunto' value='Olá 'mundo'' style='width:400px;' maxlength='255'>

Viu o que aconteceu? Não? Vou colorir pra ti entender:
Assunto: <input class=text type=text name='assunto' value='Olá 'mundo'' style='width:400px;' maxlength='255'>
Quantos programadores são necessários para trocar uma lâmpada?
Só um, mas a casa cai!

Posted Image

#8 jfsmi

jfsmi

    12 Horas

  • Usuários
  • 201 posts
  • Sexo:Masculino

Posted 08/11/2005, 17:43

Hes Vital,

Que o problema está aí já descobri... gostaria de saber a solução... como resolver isso?

Não sou expert... mas tento ajudar! Mas o que mais preciso é de ajuda! hehehe


#9 kleryson

kleryson

    Mestre

  • Usuários
  • 687 posts
  • Sexo:Masculino

Posted 09/11/2005, 06:23

VocÊ tentou a minha últim postagem??

<?php
if (!empty($_REQUEST['teste'])){

$valor=str_replace("\"","&quot;" ,$_REQUEST['valor']);
?>
<input type="text" name="teste" value="<?=$valor?>" />
<?php
}else{
?>
<form action="./teste4.php" name="teste" method="post">
<input type="text" name="valor" />
<input type="hidden" name="teste" value="ok" />
<input type="submit" />
</form>
<?php
}
?>

coloca o input assim:
<input type="text" name="teste" value="<?=$valor?>" />

E depois manda substituir as aspas duplas pelo caracter especial assim:

$valor=str_replace("\"","&quot;" ,$_REQUEST['valor']);


#10 jfsmi

jfsmi

    12 Horas

  • Usuários
  • 201 posts
  • Sexo:Masculino

Posted 09/11/2005, 08:20

Kleryson,

Usando sua sugestão como base, consegui resolver meu problema. Muito obrigado!
Pra ser mais específico, o que me ajudou foi sua sugestão de trocar as aspas duplas (") no str_replace por &quot;, ou seja, ficou assim:

$assunto = stripslashes($assunto);
$assunto = str_replace('"','&quot;',$assunto);
Assunto: <input type=text name="assunto" value="<? echo $assunto; ?>">


Valeu, t+

Não sou expert... mas tento ajudar! Mas o que mais preciso é de ajuda! hehehe


#11 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 29/10/2017, 13:01

Buy Amoxicillin Online Progesterone Website Secure Ordering Cialis 20 Acheter viagra Comprar Levitra Bucodispersable Kamagranow Order Cialis From India




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq