Cómo solucionar los espacios en blanco que se añaden en un componente de formulario de tipo Textarea cuando guardamos en base de datos (MySQL, Oracle, SQL Server, PostgreSQL, …) usando HTML y PHP.
- El error o problema de espacios en blanco en Textarea al guardar en base de datos.
- Solución al error de espacios en blanco en TextArea al guardar en base de datos.
El error o problema de espacios en blanco en Textarea al guardar en base de datos
Cuando usamos un componente de tipo Textarea para guardar en base de datos un texto extenso de varias líneas, a veces nos podemos encontrar con el problema de que se añaden unos espacios en blanco al principio y, además, estos espacios acaban guardándose también en base de datos y luego mostrándose e incluso acumulándose en cada modificación del registro.
Solución al error de espacios en blanco en TextArea al guardar en base de datos
Este problema se produce cuando usamos el siguiente código (un ejemplo cualquiera):
1 2 3 |
<textarea cols="20" rows="10" id="texto" name="texto"> <?php echo $valor ?> </textarea> |
Analizando el código anterior vemos que hay un salto de línea entre el valor que se mostrará en el Textarea, obtenido desde la variable $valor mediante PHP y el cierre de etiqueta Texarea. Este salto de línea es el que habitualmente provoca la inserción de espacios en blanco en la base de datos.
Para solucionarlo es tan simple como colocar toda la instrucción en la misma línea, siendo cuidadosos de no dejar espacios en blanco entre las etiquetas de inicio y cierre del Textarea y el código PHP.
La instrucción correcta para no generar espacios en blanco sería:
1 |
<textarea cols="20" rows="10" id="texto" name="texto"><?php echo $valor ?></textarea> |
Como vemos lo único que hay que hacer es colocar el código seguido, sin saltos de línea.
No es necesario usar funciones como Trim ni Substr, es suficiente con que la etiqueta de cierre </textarea> esté en la misma línea que la de inicio <textarea…> y que no haya espacios en blanco en el código PHP.