Foros del Web » Programando para Internet » PHP »

enredado con caracteres especiales \ " '

Estas en el tema de enredado con caracteres especiales \ " ' en el foro de PHP en Foros del Web. hola como estan?? miren el tema es ese justamente. me estoy enredando mucho con los caracteres especiales... estoy armando un sitio donde los usuarios pueden ...
  #1 (permalink)  
Antiguo 14/03/2007, 08:15
Avatar de JAK^  
Fecha de Ingreso: octubre-2005
Ubicación: ^^CaMiNiTo Al CoSTaDo DeL
Mensajes: 850
Antigüedad: 18 años, 5 meses
Puntos: 4
enredado con caracteres especiales \ " '

hola como estan?? miren el tema es ese justamente. me estoy enredando mucho con los caracteres especiales... estoy armando un sitio donde los usuarios pueden realizar publicaciones cortas tipo avisos clasificados o algo asi (estas se guardan en un campo tipo text en una ddbb en mysql)... la cosa es ke no entiendo bien com tengo ke manejar el tema de los caracteres especiales \ " ', por lo que veo automaticamente cuando ingreso por ejemplo " o ' me agrega la barra \, sin que yo programe nada... el problema es ke en el sitio ofresco la posibilidad de editar la publicacion y ahy en el campo texbox me aparecen las barras probe con stripslashes() para sacarlas pero nada...
en sintesis como es la manera correcta de tratar este tema...


otra cosa... tambien intente no permitir el uso de estos carcteres con ereg() los encontraba, todo bien con " y con ' pero con \ me daba error probe poniendo chr(92) en ves de \\ pero igual... como deberia hacer para detectar e inpedir el uso de la barra??

saludos y muchas gracias a todos
__________________
hola . . .
  #2 (permalink)  
Antiguo 14/03/2007, 08:45
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años
Puntos: 33
De acuerdo Re: enredado con caracteres especiales \ " '

¿En algun momento estas usando addslashes() sobre ese campo?

Saludillos.
  #3 (permalink)  
Antiguo 14/03/2007, 08:49
Avatar de JAK^  
Fecha de Ingreso: octubre-2005
Ubicación: ^^CaMiNiTo Al CoSTaDo DeL
Mensajes: 850
Antigüedad: 18 años, 5 meses
Puntos: 4
Re: enredado con caracteres especiales \ " '

mmm, nop, porke veia que las barras se me agregaban solas... tengo que usarlo??...

y el tema para no permitir el uso de este caracter... cual sera el errorR?

saludos
__________________
hola . . .
  #4 (permalink)  
Antiguo 14/03/2007, 08:51
Avatar de JAK^  
Fecha de Ingreso: octubre-2005
Ubicación: ^^CaMiNiTo Al CoSTaDo DeL
Mensajes: 850
Antigüedad: 18 años, 5 meses
Puntos: 4
Re: enredado con caracteres especiales \ " '

probe usando addslashes() pero ahora me aparecen mas barras, osea las que se me agregan solas mas las de addslashes()
__________________
hola . . .
  #5 (permalink)  
Antiguo 14/03/2007, 09:44
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años
Puntos: 33
De acuerdo Re: enredado con caracteres especiales \ " '

Te sugiero que en tu php.ini busques magic_quotes_gpc y lo iguales a false. Para ver si es esto!

Cita:
magic_quotes_gpc boolean
Establece el estado de magic_quotes para las operaciones GPC (Get/Post/Cookie). Cuando magic_quotes se encuentra activo, todos los caracteres ' (comilla-simple), " (comilla doble), \ (barra invertida) y NULs son escapados con una barra invertida automáticamente.

Nota: Si la directiva magic_quotes_sybase se encuentra activa también, sobrescribirá completamente el valor de magic_quotes_gpc. Tener ambas directivas activas quiere decir que solo las comillas simples son escapadas como ''. Las comillas dobles, las barras invertidas y NULs permanecerán intactos y sin escapar.
Saludillos.
  #6 (permalink)  
Antiguo 14/03/2007, 09:48
Avatar de JAK^  
Fecha de Ingreso: octubre-2005
Ubicación: ^^CaMiNiTo Al CoSTaDo DeL
Mensajes: 850
Antigüedad: 18 años, 5 meses
Puntos: 4
Re: enredado con caracteres especiales \ " '

gracias mauled, el tema es ke no tengo acceso al php.ini.... supongo que debe ser asi puesto que sino como puede ser que estas barras aparescan?


pd: sigo sin poder validar el uso d la barra, para prohibirla... ;(
__________________
hola . . .
  #7 (permalink)  
Antiguo 14/03/2007, 11:18
Avatar de rcoromin  
Fecha de Ingreso: marzo-2007
Mensajes: 16
Antigüedad: 17 años
Puntos: 0
Re: enredado con caracteres especiales \ " '

tienes varias formas desde el punto de visto que yo lo veo el primero es hacer que el input text no te adminta mas que caracters y o numeros puedes usar esto

<input name="nombres" onKeyPress="if((event.keyCode<65 || event.keyCode>90 ) && (event.keyCode<97 || event.keyCode>122) && (event.keyCode!=32) && (event.keyCode<160 || event.keyCode>165))event.returnValue = false;" >
esto es usar codigo ascii para bloquear estos caracteres.


Lo otro que puedes usar es esto es es si php
$email = '[email protected]';
$dominio = strstr($email, '@');// puedes usarlo para bucar cualquier caracter especial
echo $dominio; // La salida es: @example.com


$mi_cadena = 'abc';
$caracter = 'a';
$posicion = strpos($mi_cadena, $caracter); // esta encuentra la posicion en que esta

y por ultimo
echo substr('abcdef', 1); // bcdef
echo substr('abcdef', 1, 3); // bcd
echo substr('abcdef', 0, 4); // abcd


todo esto es para que agas un programita que te busque el caracter si lo encuetre te vea la posicion en que esta y por medio de substr lo cortes de la cadena
Si es lo que querias espero que te sirva Bye
  #8 (permalink)  
Antiguo 14/03/2007, 11:29
Avatar de JAK^  
Fecha de Ingreso: octubre-2005
Ubicación: ^^CaMiNiTo Al CoSTaDo DeL
Mensajes: 850
Antigüedad: 18 años, 5 meses
Puntos: 4
Re: enredado con caracteres especiales \ " '

hey rcoromin muchisimas gracias! con esto calculo que ya lo soluciono
mauled gracias a vos tambien
saludos
__________________
hola . . .
  #9 (permalink)  
Antiguo 14/03/2007, 11:31
Avatar de rcoromin  
Fecha de Ingreso: marzo-2007
Mensajes: 16
Antigüedad: 17 años
Puntos: 0
Re: enredado con caracteres especiales \ " '

avisanos como te quedo
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 04:40.