Foros del Web » Programando para Internet » PHP »

Formulario php. Problema carácter <algo (Error tonto)

Estas en el tema de Formulario php. Problema carácter <algo (Error tonto) en el foro de PHP en Foros del Web. No sabia como poner el título ya que lo que me ocurre es algo muy tonto supongo. El tema es que tengo un formulario muy ...
  #1 (permalink)  
Antiguo 02/04/2012, 12:41
 
Fecha de Ingreso: marzo-2009
Mensajes: 39
Antigüedad: 10 años, 8 meses
Puntos: 1
Formulario php. Problema carácter <algo (Error tonto)

No sabia como poner el título ya que lo que me ocurre es algo muy tonto supongo.

El tema es que tengo un formulario muy sencillo que lo que escribes en un TEXTAREA te lo muestra por pantalla al pulsar submit.

Pues bien todo funcionaba bien hasta que el hosting cambió el modo de ejecución de PHP.

Ahora resulta que si hay el carácter "<" seguido de cualquier cosa (sin espacio) no le gusta y solo muestra el texto anterior a dicho carácter.
Seguramente me pase con más caracteres, pero este es el que me he dado cuenta.

Ejemplo de fallo :
Código:
Hola que tal. <comentario que pongo> etc...
Solo muestra:
Código:
Hola que tal.
Como lo soluciono?
Y si es posible me gustaría saber porque ha afectado el cambio de modo de ejecución de php.

Gracias.
  #2 (permalink)  
Antiguo 02/04/2012, 13:33
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 11 años, 4 meses
Puntos: 1532
Respuesta: Formulario php. Problema carácter <algo (Error tonto)

eso no se debe al hosting, sino a que el parser HTML trata de empatar tags al usar dichos caracteres especiales, lo que debes hacer es filtar los caracteres, bien sea con la función htmlspecialchars(), htmlentities() u otra implementación que te ayude a filtrar XSS
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 02/04/2012, 13:39
 
Fecha de Ingreso: marzo-2009
Mensajes: 39
Antigüedad: 10 años, 8 meses
Puntos: 1
Respuesta: Formulario php. Problema carácter <algo (Error tonto)

Hola, gracias por la respuesta.

Lo achacaba al hosting ya que te aseguro que antes me funcionaba y ahora de repente me encuentro con esto.

Voy a intentar lo que comentas y os cuento.
  #4 (permalink)  
Antiguo 02/04/2012, 13:48
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 11 años, 4 meses
Puntos: 1532
Respuesta: Formulario php. Problema carácter <algo (Error tonto)

eso no tiene nada que ver con el hosting, si el parser HTML recibe esto:

<hola como estas>

él confundirá <hola como inicio de un tag y tratará de añadirlo al DOM y al encontrar > todo lo anterior lo considerará como atributos de dicho tag, eso por la nueva tendencia HTML5 de la web semántica, donde se pueden crear tags a voluntad, por lo que indago que no lo vio antes por un navegador desactualizado, además filtrar los caracteres especiales es fundamental para evitar errores de sintaxis en el HTML
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 02/04/2012, 14:02
 
Fecha de Ingreso: marzo-2009
Mensajes: 39
Antigüedad: 10 años, 8 meses
Puntos: 1
Respuesta: Formulario php. Problema carácter <algo (Error tonto)

Entiendo, muchas gracias.

Primera parte resuelta.

Ahora tengo que insertar todo el texto en una base de datos (mysql). Tengo que mirar como hacerlo ya que el texto contiene comillas simples y dobles entre otros caracteres especiales.

A ver si con addslashes() es suficiente.
  #6 (permalink)  
Antiguo 02/04/2012, 14:27
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 11 años, 4 meses
Puntos: 1532
Respuesta: Formulario php. Problema carácter <algo (Error tonto)

a esa técnica se le llama escapado de variables, y addslashes te sirve de ayuda, aunque mysql tiene la suya propia yo prefiero consultas preparadas con PDO
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #7 (permalink)  
Antiguo 02/04/2012, 15:03
 
Fecha de Ingreso: marzo-2009
Mensajes: 39
Antigüedad: 10 años, 8 meses
Puntos: 1
Respuesta: Formulario php. Problema carácter <algo (Error tonto)

Gracias por todo, ya funciona bien.

Un saludo

Etiquetas: formulario
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 05:45.