Foros del Web » Programando para Internet » PHP »

como cambiar o no permitir el ingreso del "\"

Estas en el tema de como cambiar o no permitir el ingreso del "\" en el foro de PHP en Foros del Web. Holas; Bueno he visto todo lo posible para realizar los cambios al respecto de caracteres especiales (los cambio), bueno me encontre con que al momento ...
  #1 (permalink)  
Antiguo 11/11/2004, 07:10
Avatar de ciopatrick  
Fecha de Ingreso: diciembre-2003
Mensajes: 189
Antigüedad: 20 años, 4 meses
Puntos: 0
Desacuerdo como cambiar o no permitir el ingreso del "\"

Holas;
Bueno he visto todo lo posible para realizar los cambios al respecto de caracteres especiales (los cambio), bueno me encontre con que al momento de ingresar un dato a in input text con el caracter \ , despues de realizar un submit no vuelve a aparecer este caracter:

Ejemplo
input text = hola \ bien
da como resultado
hola bien
me saca el \

mi consulta es como logro realizar el cambio o no permitir al \ he tratado de utilizar los, pero no me da resultado ereg_replace, str_replace..

gracias
  #2 (permalink)  
Antiguo 11/11/2004, 08:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Lo que debes usar es la función:

stripslashes()
www.php.net/stripslashes

a la hora de representar tu dato .. pero igualemente guardalo así en tus BD o donde lo almacenes. (con su / que es un caracter de escape para caracteres como comillas .. y demás)

Un saludo,
  #3 (permalink)  
Antiguo 11/11/2004, 09:35
Avatar de ciopatrick  
Fecha de Ingreso: diciembre-2003
Mensajes: 189
Antigüedad: 20 años, 4 meses
Puntos: 0
gracias por responder

la linea del input la poseo con htmlspecialchars(stripslashes($_POST['102...
pero no me lo representa me explico;

ejemplo si ingreso

lflf \ lglglg

me devuelve

lflf lglglg

me quita el \, como soluciono esa parte o cortar por lo mas simple que es impedir el ingreso del mensionado.

gracias
  #4 (permalink)  
Antiguo 11/11/2004, 09:37
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 20 años, 9 meses
Puntos: 0
ok

Cita:
Iniciado por Cluster
Lo que debes usar es la función:

stripslashes()
www.php.net/stripslashes

a la hora de representar tu dato .. pero igualemente guardalo así en tus BD o donde lo almacenes. (con su / que es un caracter de escape para caracteres como comillas .. y demás)

Un saludo,

Ok cluster, tengo una duda, actualmente tengo un buscador que permite que el usuario búsque resultados exactos mediante las comillas " ", en la sentencia SQL, del otro lado de la página que recibe el query tengo una sentencia BOOLEANA que busca los resultados.

Código PHP:
$_pagi_sql = ("SELECT *
FROM noticias_prensa
WHERE MATCH(contenido) AGAINST('"
.$_GET[contenido]."' IN BOOLEAN MODE) ORDER BY fecha_pub DESC"); 
Pero tengo problema al propagar las variables, utilizo el paginator de "jpinedo" y el enlace a la siguiente página lo coloca así:

http://localhost/noticias/resultados...car&_pagi_pg=2

como ves está el: \%22violencia\%22

hay manera de convertirlo a "violencia" ?
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #5 (permalink)  
Antiguo 11/11/2004, 12:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En tu caso andinistas . deberías usar urldecode() para convertir tus %22 en el caracter que corresponde y a su vez también stripslases() para eliminar el caracter de escapado que se añade (por configuración de php sobre magic_quote_gpc )

ciopatrick

Todavía no compredo que deseas hacer .. en principio:
htmlspecialchars(stripslashes($valor))

Respeta toda comilla y demás caracter que ingreses por el URL/o formulario y que sean escapados caracteres especiales como ese / o unas " o '

Eso es lo que recibe PHP y así lo procesas en PHP. Observa bien lo que recibes (en tu $_POST variable ..) antes de aplicar ninguna función más para ver que ese lo que realmente "te sobra" para aplicar tu str_replace() si corresponde o resto de funciones como las propuestas.


Un saludo,
  #6 (permalink)  
Antiguo 12/11/2004, 21:02
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
ciopatrick:
Lo que creo que está pasando es que haces el stripslashes().... pero no has hecho un addslashes() previo... y supongo que magic_quotes_gpc está en OFF y no se hace automáticamente.
Por eso pierdes las barras invertidas, porque stripslashes() las elimina.
Activa magic_quotes_gpc o no hagas stripslashes()

Saludos
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 15:02.