Foros del Web » Programando para Internet » PHP »

no me coge en la cadena "

Estas en el tema de no me coge en la cadena " en el foro de PHP en Foros del Web. Hola tengo un problemilla, estoy mostrando un registro en el que sale el caracter "", y lo estoy poniendo dentro de unb input. Por ejemplo: ...
  #1 (permalink)  
Antiguo 26/05/2010, 12:57
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años, 1 mes
Puntos: 1
no me coge en la cadena "

Hola tengo un problemilla, estoy mostrando un registro en el que sale el caracter "", y lo estoy poniendo dentro de unb input.

Por ejemplo: Esto es un "ejemplo".
Hay solo me coge Esto es un. ( Y ya...)

<? echo '<input name="nombre" value="'.($select_producto1[nombre]).'" class="acceso_text001" type="text" maxlength="40" style="width:220px;" />'; ?>

Como peudo arreglar esto :S
  #2 (permalink)  
Antiguo 26/05/2010, 13:17
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: no me coge en la cadena "

puedes usar htmlspecialchars($select_producto1['nombre']) para convertir las comillas en su entidad correspondiente en html, existe varias funciones para escapar cadenas en php
  #3 (permalink)  
Antiguo 26/05/2010, 13:26
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: no me coge en la cadena "

y si por ejemplo, lo hago al rebes, mediante el POST, ¿daria igual, no?

En resumen, como recogo el valor bien? poruqe me saldria /", y en realiad lo que tiene que poner es "

Última edición por davicito; 26/05/2010 a las 13:33
  #4 (permalink)  
Antiguo 26/05/2010, 13:37
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: no me coge en la cadena "

Cita:
Iniciado por davicito Ver Mensaje
y si por ejemplo, lo hago al rebes, mediante el POST, ¿daria igual, no?
no entiendo a que te refieres, htmlspecialchars simplemente reemplazará (") con &quot; de esta forma el interprete HTML del navegador no se confundirá, porque si no lo haces a él le llega esto:
Código HTML:
Ver original
  1. <input name="nombre" value="Esto es un "ejemplo"" class="acceso_text001" type="text" maxlength="40" style="width:220px;"  />

y como notarás el mismo hightlight no lo interpreta como es debido, por lo tanto no te aparece ejemplo porque lo toma como parte del HTML, en cambio:

Código HTML:
Ver original
  1. <input name="nombre" value="Esto es un &quot;ejemplo&quot;"  class="acceso_text001" type="text" maxlength="40" style="width:220px;"   />

funciona perfectamente
  #5 (permalink)  
Antiguo 26/05/2010, 13:44
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: no me coge en la cadena "

entonces xq cuando lo envio pro el POST, me lee así :S

$nombre=$_POST[nombre];
echo $nombre.'<br>';

esto es un \"ejemplo\"
  #6 (permalink)  
Antiguo 26/05/2010, 14:07
 
Fecha de Ingreso: diciembre-2008
Mensajes: 102
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: no me coge en la cadena "

porque no usas el addslahes() es bastante bueno y lo que hace es agregar el slash para el escape de las comillas y listo no hay mas problema
__________________
█ Luis Toscano - CodeMaster
Codigolandia.com
Foros Del Hosting
  #7 (permalink)  
Antiguo 26/05/2010, 14:24
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: no me coge en la cadena "

puf, entonces cuando mando el post me sale.

esto es un \\\"ejemplo\\\"

:S

Creo que no se hacerlo tal y como dices :S
  #8 (permalink)  
Antiguo 26/05/2010, 17:38
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: no me coge en la cadena "

Cita:
Iniciado por davicito
y si por ejemplo, lo hago al rebes...
Si lo haces al reves quedaria:

"olpmeje" nu se otse

Ok, con htmlentities o htmlspecialchars puedes convertir los caracteres especiales para incluirlos en un campo de formulario.

PHP tiene (o tenia) una caracteristica que automaticamente agrega(ba) caracteres de escape a todos los caracteres especiales incluidos en datos provenientes de $_GET, $_POST, etc. lo unico que tienes que hacer es usar stripslashes() para que todo vuelva a la normalidad.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: cadenas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:42.